Version -01 of the RTP draft
authorJean-Marc Valin <jean-marc.valin@octasic.com>
Mon, 11 May 2009 20:34:58 +0000 (16:34 -0400)
committerJean-Marc Valin <jean-marc.valin@octasic.com>
Mon, 11 May 2009 20:34:58 +0000 (16:34 -0400)
doc/ietf/draft-valin-celt-rtp-profile-01.txt [moved from doc/ietf/draft-valin-celt-rtp-profile-00.txt with 81% similarity]

similarity index 81%
rename from doc/ietf/draft-valin-celt-rtp-profile-00.txt
rename to doc/ietf/draft-valin-celt-rtp-profile-01.txt
index 24789ae..cfdfddc 100644 (file)
@@ -3,12 +3,12 @@
 
 AVT Working Group                                             J-M. Valin
 Internet-Draft                                     Octasic Semiconductor
-Expires: November 9, 2009                                     G. Maxwell
+Expires: November 12, 2009                                    G. Maxwell
                                                         Juniper Networks
-                                                             May 8, 2009
+                                                            May 11, 2009
 
 
-                    draft-valin-celt-rtp-profile-00
+                    draft-valin-celt-rtp-profile-01
                  RTP Payload Format for the CELT Codec
 
 Status of this Memo
@@ -32,7 +32,7 @@ Status of this Memo
    The list of Internet-Draft Shadow Directories can be accessed at
    http://www.ietf.org/shadow.html.
 
-   This Internet-Draft will expire on November 9, 2009.
+   This Internet-Draft will expire on November 12, 2009.
 
 Copyright Notice
 
@@ -52,9 +52,9 @@ Copyright Notice
 
 
 
-Valin & Maxwell         Expires November 9, 2009                [Page 1]
+Valin & Maxwell         Expires November 12, 2009               [Page 1]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
 Abstract
@@ -80,15 +80,15 @@ Table of Contents
      3.4.  Multiple channels  . . . . . . . . . . . . . . . . . . . .  8
    4.  MIME registration of CELT  . . . . . . . . . . . . . . . . . . 10
    5.  SDP usage of CELT  . . . . . . . . . . . . . . . . . . . . . . 12
-     5.1.  Multichannel Mapping . . . . . . . . . . . . . . . . . . . 14
+     5.1.  Multichannel Mapping . . . . . . . . . . . . . . . . . . . 13
      5.2.  Low-Overhead Mode  . . . . . . . . . . . . . . . . . . . . 15
-   6.  Congestion Control . . . . . . . . . . . . . . . . . . . . . . 17
-   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 18
-   8.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 19
-   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 20
-     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 20
-     9.2.  Informative References . . . . . . . . . . . . . . . . . . 20
-   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 21
+   6.  Congestion Control . . . . . . . . . . . . . . . . . . . . . . 16
+   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 17
+   8.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 18
+   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 19
+     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 19
+     9.2.  Informative References . . . . . . . . . . . . . . . . . . 19
+   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 20
 
 
 
@@ -108,9 +108,9 @@ Table of Contents
 
 
 
-Valin & Maxwell         Expires November 9, 2009                [Page 2]
+Valin & Maxwell         Expires November 12, 2009               [Page 2]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
 1.  Conventions used in this document
@@ -164,9 +164,9 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
 
 
-Valin & Maxwell         Expires November 9, 2009                [Page 3]
+Valin & Maxwell         Expires November 12, 2009               [Page 3]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
 2.  Overview of the CELT Codec
@@ -220,9 +220,9 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
 
 
-Valin & Maxwell         Expires November 9, 2009                [Page 4]
+Valin & Maxwell         Expires November 12, 2009               [Page 4]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
 3.  RTP payload format for CELT
@@ -276,9 +276,9 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
 
 
-Valin & Maxwell         Expires November 9, 2009                [Page 5]
+Valin & Maxwell         Expires November 12, 2009               [Page 5]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
    exactly one header extension, with a format defined in Section 5.3.1.
@@ -332,9 +332,9 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
 
 
-Valin & Maxwell         Expires November 9, 2009                [Page 6]
+Valin & Maxwell         Expires November 12, 2009               [Page 6]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
    The CELT codec always produces an integer number of bytes and can
@@ -388,9 +388,9 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
 
 
-Valin & Maxwell         Expires November 9, 2009                [Page 7]
+Valin & Maxwell         Expires November 12, 2009               [Page 7]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
       int i, N, pos;
@@ -444,9 +444,9 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
 
 
-Valin & Maxwell         Expires November 9, 2009                [Page 8]
+Valin & Maxwell         Expires November 12, 2009               [Page 8]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
        0                   1                   2                   3
@@ -500,9 +500,9 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
 
 
-Valin & Maxwell         Expires November 9, 2009                [Page 9]
+Valin & Maxwell         Expires November 12, 2009               [Page 9]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
 4.  MIME registration of CELT
@@ -556,9 +556,9 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
 
 
-Valin & Maxwell         Expires November 9, 2009               [Page 10]
+Valin & Maxwell         Expires November 12, 2009              [Page 10]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
    audio only.
@@ -612,74 +612,69 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
 
 
-Valin & Maxwell         Expires November 9, 2009               [Page 11]
+Valin & Maxwell         Expires November 12, 2009              [Page 11]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
 5.  SDP usage of CELT
 
-   When conveying information by SDP [rfc2327], the encoding name MUST
+   When conveying information by SDP [rfc4566], the encoding name MUST
    be set to "CELT".  The sampling frequency is typically between 32000
-   and 48000 Hz.  Implementations SHOULD support both 44100 Hz and 48000
-   Hz.  The maximum bandwidth permitted for the CELT audio is encoded
-   using the "b=AS:" header, as explained in SDP [rfc2327].
+   and 48000 Hz.  Implementations MUST support 48000 Hz and SHOULD also
+   support 44100 Hz.
 
    The SDP parameters have the following interpretation with respect to
    CELT:
 
-      b=AS: The maximum bandwidth (in kbit/s) allowed for CELT,
-      excluding the header overhead.  The default is 64 kbit/s.
-
       ptime: The desired packetization time.  The sender SHOULD choose a
       number of frames per packet that corresponds to the smallest
       packetization time greater or equal to the specified ptime for the
       selected frame size.  The default is 20 ms as specified in
       [rfc3551]
 
-      maxptime: The maximum packetization time desired.  If the maximum
-      is lower than the smallest packetization time determined from the
-      chosen frame size (as described above), then that packtization
-      time SHOULD be used despite the maxptime value.  The default is
-      "no maximum".
+      maxptime: The maximum packetization time desired.  As specified in
+      [rfc4566], if the maximum is lower than the smallest packetization
+      time determined from the chosen frame size (as described above),
+      then that packtization time SHOULD be used despite the maxptime
+      value.  The default is "no maximum".
 
    CELT-specific parameters can be given via the "a=fmtp:" directive.
    Several parameters can be given in a single a=fmtp line provided that
    they are separated by a semi-colon.  The following parameters are
    defined for use in this way:
 
+      bitrate: The desired bit-rate in kbit/s for the codec only
+      (excluding headers and the length bytes).  The value MUST be
+      rounded to an integer number of bytes per frame.  The round-to-
+      nearest method is RECOMMENDED.  The default bit-rate value is 64
+      kbit/s per channel.
+
       frame-size: The frame size is the duration of each frame in
-      samples.  If more than one frame size is supported, a comma-
-      separated list can be used.  It is possible to use "any" to denote
-      that all even frame sizes are supported.  The default is 480.
+      samples and has to be even.  The default is 480.
 
       mapping: Optional string describing the multi-channel mapping.
 
-   Because the frame-size is not transmitted in-band, an SDP answer MUST
-   contain only one frame-size, even if multiple frame sizes were
-   offered.
-
-   The selected frame-size values MUST be even.  They SHOULD be
-   divisible by 8 and have a prime factorization which consists only of
-   2, 3, or 5 factors.  For example, powers-of-two and values such as
-   160, 320, 240, and 480 are recommended.  Implementations MUST support
-   receiving and sending the default value of 480, and if the size 480
-   is supported it MUST be offered.  Implementations SHOULD also support
+   The selected frame-size values MUST be even.  For quality and
+   complexity reasons, they SHOULD also be divisible by 8 and have a
+   prime factorization which consists only of 2, 3, or 5 factors.  For
+   example, powers-of-two and values such as 160, 320, 240, and 480 are
+   recommended.  Implementations MUST support receiving and sending the
+   default value of 480.  Implementations SHOULD also support frame
+   sizes of 256 and 512 since these are the ones that lead to the lowest
+   complexity.  When frame sizes that are powers-of-two are supported,
+   they SHOULD be listed first in the offer and chosen over non-powers-
+   of-two in the answer.
 
 
 
-Valin & Maxwell         Expires November 9, 2009               [Page 12]
+Valin & Maxwell         Expires November 12, 2009              [Page 12]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
-   frame sizes of 256 and 512 since these are the ones that lead to the
-   lowest complexity.  When frame sizes that are powers of two are
-   supported, they SHOULD be listed first in the offer and chosen over
-   non powers of two in the answer.
-
-   Care must be taken when setting the value of ptime: and b=AS: so that
-   the RTP packet size does not exceed the path MTU.
+   Care must be taken when setting the value of ptime: and bitrate: so
+   that the RTP packet size does not exceed the path MTU.
 
    An example of the media representation in SDP for offering a single
    channel of CELT at 48000 samples per second might be:
@@ -687,52 +682,30 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
       m=audio 8088 RTP/AVP 97
 
-      a=rtpmap:97 CELT/48000
+      a=rtpmap:97 CELT/48000/1
 
    Note that the RTP payload type code of 97 is defined in this media
-   definition to be 'mapped' to the CELT codec at a 48kHz sampling
+   definition to be 'mapped' to the CELT codec at a 48 kHz sampling
    frequency using the 'a=rtpmap' line.  Any number from 96 to 127 could
    have been chosen (the allowed range for dynamic types).  If there is
    more than one channel being encoded the rtpmap MUST specify the
-   channel count.
-
-   The following example illustrates the case where the offerer cannot
-   receive more than 64 kbit/s.
-
-
-      m=audio 8088 RTP/AVP 97
-
-      b=AS:64
-
-      a=rtmap:97 CELT/48000
-
-   In this case, if the remote party agrees, it should configure its
-   CELT encoder so that it does not use modes that produce more than 64
-   kbit/s.  Note that the "b=" constraint also applies on all payload
-   types that may be proposed in the media line ("m=").
+   channel count.  When no channel count is included, the default is one
+   channel.
 
    The following example demonstrates the use of the a=fmtp: parameters:
 
 
       m=audio 8008 RTP/AVP 97
 
-      a=ptime: 21
+      a=ptime: 25
 
       a=rtpmap:97 CELT/44100
 
-
-
-
-
-Valin & Maxwell         Expires November 9, 2009               [Page 13]
-\f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
-
-
-      a=fmtp:97 frame-size=512;
+      a=fmtp:97 frame-size=512;bitrate=48
 
    This examples illustrate an offerer that wishes to receive a CELT
-   stream at 44100 Hz, by packing two 512-sample frames in each packet.
+   stream at 44100 Hz, by packing two 512-sample frames in each packet
+   (less than 25 ms) at around 48 kbps (70 bytes per frame).
 
 5.1.  Multichannel Mapping
 
@@ -748,6 +721,14 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
    equal to the total number of channels.
 
    Channel identifiers are short alphanumeric strings.  Each identifier
+
+
+
+Valin & Maxwell         Expires November 12, 2009              [Page 13]
+\f
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
+
+
    MUST begin with a letter indicating the type of channel.  'A' MUST be
    used to indicate an ambisonic channel, 'S' to indicate a speaker-feed
    channel, or 'O' indicating other usage.
@@ -777,14 +758,6 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
    Speaker-feed identifiers are named based on the intended speaker
    locations.  "L", "R" for the left and right speakers, respectively,
-
-
-
-Valin & Maxwell         Expires November 9, 2009               [Page 14]
-\f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
-
-
    in conventional stereo or the front left and right in 4, 5, 5.1, or
    7.1 channel surround.  "LR", "RR" for the left and right rear
    speakers in 4,5 or 5.1 channel surround.  C" is used for a center
@@ -803,11 +776,20 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
       m=audio 8008 RTP/AVP 97
 
+
+
+
+
+Valin & Maxwell         Expires November 12, 2009              [Page 14]
+\f
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
+
+
       a=ptime: 5
 
       a=rtpmap:97 CELT/44100/2
 
-      a=fmtp:97 frame-size=256;
+      a=fmtp:97 frame-size=256
 
    Which specifies a single two-channel CELT stream according to the
    default mapping.
@@ -818,29 +800,22 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
    bandwidth when transmitting CELT frames.  In that mode none of the
    length values need to be transmitted.  One the a=fmtp: parameter low-
    overhead: is defined and contains a single frame size, followed by a
-   '/', followed by the number of frames (per channel) per packet,
-   followed by a '/', followed by a comma-separated list of the number
-   of bytes per frame for each stream defined in the channel mapping.
-   The frame-size: parameter MUST not be specified and SHOULD be ignored
-   if encountered in an SDP offer or answer.  The ptime:, maxptime: and
-   b=AS: parameters SHOULD also be ignored since the low-overhead:
-   parameter makes them redundant.  When the low-overhead: parameter is
-   specified, the length of each frame MUST NOT be encoded in the
-   payload and the bit-rate MUST NOT be changed during the session.
+   '/', followed by a comma-separated list of the number of bytes per
+   frame for each stream defined in the channel mapping.  The number of
+   frames per channel can thus be computed as the payload size divided
+   by the sum of the bytes-per-frame values.  The frame-size: parameter
+   MUST not be specified and SHOULD be ignored if encountered in an SDP
+   offer or answer.  The bitrate: parameter MUST also be ignored since
+   the low-overhead: parameter makes it redundant.  When the low-
+   overhead: parameter is specified, the length of each frame MUST NOT
+   be encoded in the payload and the bit-rate MUST NOT be changed during
+   the session.
 
    For example a low-overhead surround configuration could be signaled
    as:
 
       m=audio 8008 RTP/AVP 97
 
-
-
-
-Valin & Maxwell         Expires November 9, 2009               [Page 15]
-\f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
-
-
       a=ptime: 5
 
       a=rtpmap:97 CELT/48000/6
@@ -861,45 +836,14 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Valin & Maxwell         Expires November 9, 2009               [Page 16]
+Valin & Maxwell         Expires November 12, 2009              [Page 15]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
 6.  Congestion Control
 
-   CELT allows for bitrate adjustment in one byte per frame increments
+   CELT allows any bitrate, with a one byte per frame resolution,
    without any signaling requirement or overhead.  Applications SHOULD
    utilize congestion control to regulate the transmitted bitrate.  In
    some applications it may make sense to increase the packetization
@@ -948,9 +892,9 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
 
 
-Valin & Maxwell         Expires November 9, 2009               [Page 17]
+Valin & Maxwell         Expires November 12, 2009              [Page 16]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
 7.  Security Considerations
@@ -1004,9 +948,9 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
 
 
-Valin & Maxwell         Expires November 9, 2009               [Page 18]
+Valin & Maxwell         Expires November 12, 2009              [Page 17]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
 8.  Acknowledgments
@@ -1060,9 +1004,9 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
 
 
-Valin & Maxwell         Expires November 9, 2009               [Page 19]
+Valin & Maxwell         Expires November 12, 2009              [Page 18]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
 9.  References
@@ -1080,8 +1024,8 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
               Format of Internet Message Bodies", RFC 2045,
               November 1998.
 
-   [rfc2327]  Jacobson, V. and M. Handley, "SDP: Session Description
-              Protocol", RFC 2327, April 1998.
+   [rfc4566]  Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
+              Description Protocol", RFC 4566, July 2006.
 
    [rfc3551]  Schulzrinne, H. and S. Casner, "RTP Profile for Audio and
               Video Conferences with Minimal Control.", RFC 3551,
@@ -1116,9 +1060,9 @@ Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
 
 
 
-Valin & Maxwell         Expires November 9, 2009               [Page 20]
+Valin & Maxwell         Expires November 12, 2009              [Page 19]
 \f
-Internet-Draft       draft-valin-celt-rtp-profile-00            May 2009
+Internet-Draft       draft-valin-celt-rtp-profile-01            May 2009
 
 
 Authors' Addresses
@@ -1172,5 +1116,5 @@ Authors' Addresses
 
 
 
-Valin & Maxwell         Expires November 9, 2009               [Page 21]
+Valin & Maxwell         Expires November 12, 2009              [Page 20]
 \f