153a5a1b3Sopenharmony_ci
253a5a1b3Sopenharmony_ci
353a5a1b3Sopenharmony_ci
453a5a1b3Sopenharmony_ci
553a5a1b3Sopenharmony_ci
653a5a1b3Sopenharmony_ci
753a5a1b3Sopenharmony_ciNetwork Working Group                                     H. Schulzrinne
853a5a1b3Sopenharmony_ciRequest for Comments: 3551                           Columbia University
953a5a1b3Sopenharmony_ciObsoletes: 1890                                                S. Casner
1053a5a1b3Sopenharmony_ciCategory: Standards Track                                  Packet Design
1153a5a1b3Sopenharmony_ci                                                               July 2003
1253a5a1b3Sopenharmony_ci
1353a5a1b3Sopenharmony_ci
1453a5a1b3Sopenharmony_ci              RTP Profile for Audio and Video Conferences
1553a5a1b3Sopenharmony_ci                          with Minimal Control
1653a5a1b3Sopenharmony_ci
1753a5a1b3Sopenharmony_ciStatus of this Memo
1853a5a1b3Sopenharmony_ci
1953a5a1b3Sopenharmony_ci   This document specifies an Internet standards track protocol for the
2053a5a1b3Sopenharmony_ci   Internet community, and requests discussion and suggestions for
2153a5a1b3Sopenharmony_ci   improvements.  Please refer to the current edition of the "Internet
2253a5a1b3Sopenharmony_ci   Official Protocol Standards" (STD 1) for the standardization state
2353a5a1b3Sopenharmony_ci   and status of this protocol.  Distribution of this memo is unlimited.
2453a5a1b3Sopenharmony_ci
2553a5a1b3Sopenharmony_ciCopyright Notice
2653a5a1b3Sopenharmony_ci
2753a5a1b3Sopenharmony_ci   Copyright (C) The Internet Society (2003).  All Rights Reserved.
2853a5a1b3Sopenharmony_ci
2953a5a1b3Sopenharmony_ciAbstract
3053a5a1b3Sopenharmony_ci
3153a5a1b3Sopenharmony_ci   This document describes a profile called "RTP/AVP" for the use of the
3253a5a1b3Sopenharmony_ci   real-time transport protocol (RTP), version 2, and the associated
3353a5a1b3Sopenharmony_ci   control protocol, RTCP, within audio and video multiparticipant
3453a5a1b3Sopenharmony_ci   conferences with minimal control.  It provides interpretations of
3553a5a1b3Sopenharmony_ci   generic fields within the RTP specification suitable for audio and
3653a5a1b3Sopenharmony_ci   video conferences.  In particular, this document defines a set of
3753a5a1b3Sopenharmony_ci   default mappings from payload type numbers to encodings.
3853a5a1b3Sopenharmony_ci
3953a5a1b3Sopenharmony_ci   This document also describes how audio and video data may be carried
4053a5a1b3Sopenharmony_ci   within RTP.  It defines a set of standard encodings and their names
4153a5a1b3Sopenharmony_ci   when used within RTP.  The descriptions provide pointers to reference
4253a5a1b3Sopenharmony_ci   implementations and the detailed standards.  This document is meant
4353a5a1b3Sopenharmony_ci   as an aid for implementors of audio, video and other real-time
4453a5a1b3Sopenharmony_ci   multimedia applications.
4553a5a1b3Sopenharmony_ci
4653a5a1b3Sopenharmony_ci   This memorandum obsoletes RFC 1890.  It is mostly backwards-
4753a5a1b3Sopenharmony_ci   compatible except for functions removed because two interoperable
4853a5a1b3Sopenharmony_ci   implementations were not found.  The additions to RFC 1890 codify
4953a5a1b3Sopenharmony_ci   existing practice in the use of payload formats under this profile
5053a5a1b3Sopenharmony_ci   and include new payload formats defined since RFC 1890 was published.
5153a5a1b3Sopenharmony_ci
5253a5a1b3Sopenharmony_ci
5353a5a1b3Sopenharmony_ci
5453a5a1b3Sopenharmony_ci
5553a5a1b3Sopenharmony_ci
5653a5a1b3Sopenharmony_ci
5753a5a1b3Sopenharmony_ci
5853a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                     [Page 1]
5953a5a1b3Sopenharmony_ci
6053a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
6153a5a1b3Sopenharmony_ci
6253a5a1b3Sopenharmony_ci
6353a5a1b3Sopenharmony_ciTable of Contents
6453a5a1b3Sopenharmony_ci
6553a5a1b3Sopenharmony_ci   1.  Introduction .................................................  3
6653a5a1b3Sopenharmony_ci       1.1  Terminology .............................................  3
6753a5a1b3Sopenharmony_ci   2.  RTP and RTCP Packet Forms and Protocol Behavior ..............  4
6853a5a1b3Sopenharmony_ci   3.  Registering Additional Encodings .............................  6
6953a5a1b3Sopenharmony_ci   4.  Audio ........................................................  8
7053a5a1b3Sopenharmony_ci       4.1  Encoding-Independent Rules ..............................  8
7153a5a1b3Sopenharmony_ci       4.2  Operating Recommendations ...............................  9
7253a5a1b3Sopenharmony_ci       4.3  Guidelines for Sample-Based Audio Encodings ............. 10
7353a5a1b3Sopenharmony_ci       4.4  Guidelines for Frame-Based Audio Encodings .............. 11
7453a5a1b3Sopenharmony_ci       4.5  Audio Encodings ......................................... 12
7553a5a1b3Sopenharmony_ci            4.5.1   DVI4 ............................................ 13
7653a5a1b3Sopenharmony_ci            4.5.2   G722 ............................................ 14
7753a5a1b3Sopenharmony_ci            4.5.3   G723 ............................................ 14
7853a5a1b3Sopenharmony_ci            4.5.4   G726-40, G726-32, G726-24, and G726-16 .......... 18
7953a5a1b3Sopenharmony_ci            4.5.5   G728 ............................................ 19
8053a5a1b3Sopenharmony_ci            4.5.6   G729 ............................................ 20
8153a5a1b3Sopenharmony_ci            4.5.7   G729D and G729E ................................. 22
8253a5a1b3Sopenharmony_ci            4.5.8   GSM ............................................. 24
8353a5a1b3Sopenharmony_ci            4.5.9   GSM-EFR ......................................... 27
8453a5a1b3Sopenharmony_ci            4.5.10  L8 .............................................. 27
8553a5a1b3Sopenharmony_ci            4.5.11  L16 ............................................. 27
8653a5a1b3Sopenharmony_ci            4.5.12  LPC ............................................. 27
8753a5a1b3Sopenharmony_ci            4.5.13  MPA ............................................. 28
8853a5a1b3Sopenharmony_ci            4.5.14  PCMA and PCMU ................................... 28
8953a5a1b3Sopenharmony_ci            4.5.15  QCELP ........................................... 28
9053a5a1b3Sopenharmony_ci            4.5.16  RED ............................................. 29
9153a5a1b3Sopenharmony_ci            4.5.17  VDVI ............................................ 29
9253a5a1b3Sopenharmony_ci   5.  Video ........................................................ 30
9353a5a1b3Sopenharmony_ci       5.1  CelB .................................................... 30
9453a5a1b3Sopenharmony_ci       5.2  JPEG .................................................... 30
9553a5a1b3Sopenharmony_ci       5.3  H261 .................................................... 30
9653a5a1b3Sopenharmony_ci       5.4  H263 .................................................... 31
9753a5a1b3Sopenharmony_ci       5.5  H263-1998 ............................................... 31
9853a5a1b3Sopenharmony_ci       5.6  MPV ..................................................... 31
9953a5a1b3Sopenharmony_ci       5.7  MP2T .................................................... 31
10053a5a1b3Sopenharmony_ci       5.8  nv ...................................................... 32
10153a5a1b3Sopenharmony_ci   6.  Payload Type Definitions ..................................... 32
10253a5a1b3Sopenharmony_ci   7.  RTP over TCP and Similar Byte Stream Protocols ............... 34
10353a5a1b3Sopenharmony_ci   8.  Port Assignment .............................................. 34
10453a5a1b3Sopenharmony_ci   9.  Changes from RFC 1890 ........................................ 35
10553a5a1b3Sopenharmony_ci   10. Security Considerations ...................................... 38
10653a5a1b3Sopenharmony_ci   11. IANA Considerations .......................................... 39
10753a5a1b3Sopenharmony_ci   12. References ................................................... 39
10853a5a1b3Sopenharmony_ci       12.1 Normative References .................................... 39
10953a5a1b3Sopenharmony_ci       12.2 Informative References .................................. 39
11053a5a1b3Sopenharmony_ci   13. Current Locations of Related Resources ....................... 41
11153a5a1b3Sopenharmony_ci
11253a5a1b3Sopenharmony_ci
11353a5a1b3Sopenharmony_ci
11453a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                     [Page 2]
11553a5a1b3Sopenharmony_ci
11653a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
11753a5a1b3Sopenharmony_ci
11853a5a1b3Sopenharmony_ci
11953a5a1b3Sopenharmony_ci   14. Acknowledgments .............................................. 42
12053a5a1b3Sopenharmony_ci   15. Intellectual Property Rights Statement ....................... 43
12153a5a1b3Sopenharmony_ci   16. Authors' Addresses ........................................... 43
12253a5a1b3Sopenharmony_ci   17. Full Copyright Statement ..................................... 44
12353a5a1b3Sopenharmony_ci
12453a5a1b3Sopenharmony_ci1. Introduction
12553a5a1b3Sopenharmony_ci
12653a5a1b3Sopenharmony_ci   This profile defines aspects of RTP left unspecified in the RTP
12753a5a1b3Sopenharmony_ci   Version 2 protocol definition (RFC 3550) [1].  This profile is
12853a5a1b3Sopenharmony_ci   intended for the use within audio and video conferences with minimal
12953a5a1b3Sopenharmony_ci   session control.  In particular, no support for the negotiation of
13053a5a1b3Sopenharmony_ci   parameters or membership control is provided.  The profile is
13153a5a1b3Sopenharmony_ci   expected to be useful in sessions where no negotiation or membership
13253a5a1b3Sopenharmony_ci   control are used (e.g., using the static payload types and the
13353a5a1b3Sopenharmony_ci   membership indications provided by RTCP), but this profile may also
13453a5a1b3Sopenharmony_ci   be useful in conjunction with a higher-level control protocol.
13553a5a1b3Sopenharmony_ci
13653a5a1b3Sopenharmony_ci   Use of this profile may be implicit in the use of the appropriate
13753a5a1b3Sopenharmony_ci   applications; there may be no explicit indication by port number,
13853a5a1b3Sopenharmony_ci   protocol identifier or the like.  Applications such as session
13953a5a1b3Sopenharmony_ci   directories may use the name for this profile specified in Section
14053a5a1b3Sopenharmony_ci   11.
14153a5a1b3Sopenharmony_ci
14253a5a1b3Sopenharmony_ci   Other profiles may make different choices for the items specified
14353a5a1b3Sopenharmony_ci   here.
14453a5a1b3Sopenharmony_ci
14553a5a1b3Sopenharmony_ci   This document also defines a set of encodings and payload formats for
14653a5a1b3Sopenharmony_ci   audio and video.  These payload format descriptions are included here
14753a5a1b3Sopenharmony_ci   only as a matter of convenience since they are too small to warrant
14853a5a1b3Sopenharmony_ci   separate documents.  Use of these payload formats is NOT REQUIRED to
14953a5a1b3Sopenharmony_ci   use this profile.  Only the binding of some of the payload formats to
15053a5a1b3Sopenharmony_ci   static payload type numbers in Tables 4 and 5 is normative.
15153a5a1b3Sopenharmony_ci
15253a5a1b3Sopenharmony_ci1.1 Terminology
15353a5a1b3Sopenharmony_ci
15453a5a1b3Sopenharmony_ci   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
15553a5a1b3Sopenharmony_ci   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
15653a5a1b3Sopenharmony_ci   document are to be interpreted as described in RFC 2119 [2] and
15753a5a1b3Sopenharmony_ci   indicate requirement levels for implementations compliant with this
15853a5a1b3Sopenharmony_ci   RTP profile.
15953a5a1b3Sopenharmony_ci
16053a5a1b3Sopenharmony_ci   This document defines the term media type as dividing encodings of
16153a5a1b3Sopenharmony_ci   audio and video content into three classes: audio, video and
16253a5a1b3Sopenharmony_ci   audio/video (interleaved).
16353a5a1b3Sopenharmony_ci
16453a5a1b3Sopenharmony_ci
16553a5a1b3Sopenharmony_ci
16653a5a1b3Sopenharmony_ci
16753a5a1b3Sopenharmony_ci
16853a5a1b3Sopenharmony_ci
16953a5a1b3Sopenharmony_ci
17053a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                     [Page 3]
17153a5a1b3Sopenharmony_ci
17253a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
17353a5a1b3Sopenharmony_ci
17453a5a1b3Sopenharmony_ci
17553a5a1b3Sopenharmony_ci2. RTP and RTCP Packet Forms and Protocol Behavior
17653a5a1b3Sopenharmony_ci
17753a5a1b3Sopenharmony_ci   The section "RTP Profiles and Payload Format Specifications" of RFC
17853a5a1b3Sopenharmony_ci   3550 enumerates a number of items that can be specified or modified
17953a5a1b3Sopenharmony_ci   in a profile.  This section addresses these items.  Generally, this
18053a5a1b3Sopenharmony_ci   profile follows the default and/or recommended aspects of the RTP
18153a5a1b3Sopenharmony_ci   specification.
18253a5a1b3Sopenharmony_ci
18353a5a1b3Sopenharmony_ci   RTP data header: The standard format of the fixed RTP data
18453a5a1b3Sopenharmony_ci      header is used (one marker bit).
18553a5a1b3Sopenharmony_ci
18653a5a1b3Sopenharmony_ci   Payload types: Static payload types are defined in Section 6.
18753a5a1b3Sopenharmony_ci
18853a5a1b3Sopenharmony_ci   RTP data header additions: No additional fixed fields are
18953a5a1b3Sopenharmony_ci      appended to the RTP data header.
19053a5a1b3Sopenharmony_ci
19153a5a1b3Sopenharmony_ci   RTP data header extensions: No RTP header extensions are
19253a5a1b3Sopenharmony_ci      defined, but applications operating under this profile MAY use
19353a5a1b3Sopenharmony_ci      such extensions.  Thus, applications SHOULD NOT assume that the
19453a5a1b3Sopenharmony_ci      RTP header X bit is always zero and SHOULD be prepared to ignore
19553a5a1b3Sopenharmony_ci      the header extension.  If a header extension is defined in the
19653a5a1b3Sopenharmony_ci      future, that definition MUST specify the contents of the first 16
19753a5a1b3Sopenharmony_ci      bits in such a way that multiple different extensions can be
19853a5a1b3Sopenharmony_ci      identified.
19953a5a1b3Sopenharmony_ci
20053a5a1b3Sopenharmony_ci   RTCP packet types: No additional RTCP packet types are defined
20153a5a1b3Sopenharmony_ci      by this profile specification.
20253a5a1b3Sopenharmony_ci
20353a5a1b3Sopenharmony_ci   RTCP report interval: The suggested constants are to be used for
20453a5a1b3Sopenharmony_ci      the RTCP report interval calculation.  Sessions operating under
20553a5a1b3Sopenharmony_ci      this profile MAY specify a separate parameter for the RTCP traffic
20653a5a1b3Sopenharmony_ci      bandwidth rather than using the default fraction of the session
20753a5a1b3Sopenharmony_ci      bandwidth.  The RTCP traffic bandwidth MAY be divided into two
20853a5a1b3Sopenharmony_ci      separate session parameters for those participants which are
20953a5a1b3Sopenharmony_ci      active data senders and those which are not.  Following the
21053a5a1b3Sopenharmony_ci      recommendation in the RTP specification [1] that 1/4 of the RTCP
21153a5a1b3Sopenharmony_ci      bandwidth be dedicated to data senders, the RECOMMENDED default
21253a5a1b3Sopenharmony_ci      values for these two parameters would be 1.25% and 3.75%,
21353a5a1b3Sopenharmony_ci      respectively.  For a particular session, the RTCP bandwidth for
21453a5a1b3Sopenharmony_ci      non-data-senders MAY be set to zero when operating on
21553a5a1b3Sopenharmony_ci      unidirectional links or for sessions that don't require feedback
21653a5a1b3Sopenharmony_ci      on the quality of reception.  The RTCP bandwidth for data senders
21753a5a1b3Sopenharmony_ci      SHOULD be kept non-zero so that sender reports can still be sent
21853a5a1b3Sopenharmony_ci      for inter-media synchronization and to identify the source by
21953a5a1b3Sopenharmony_ci      CNAME.  The means by which the one or two session parameters for
22053a5a1b3Sopenharmony_ci      RTCP bandwidth are specified is beyond the scope of this memo.
22153a5a1b3Sopenharmony_ci
22253a5a1b3Sopenharmony_ci
22353a5a1b3Sopenharmony_ci
22453a5a1b3Sopenharmony_ci
22553a5a1b3Sopenharmony_ci
22653a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                     [Page 4]
22753a5a1b3Sopenharmony_ci
22853a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
22953a5a1b3Sopenharmony_ci
23053a5a1b3Sopenharmony_ci
23153a5a1b3Sopenharmony_ci   SR/RR extension: No extension section is defined for the RTCP SR
23253a5a1b3Sopenharmony_ci      or RR packet.
23353a5a1b3Sopenharmony_ci
23453a5a1b3Sopenharmony_ci   SDES use: Applications MAY use any of the SDES items described
23553a5a1b3Sopenharmony_ci      in the RTP specification.  While CNAME information MUST be sent
23653a5a1b3Sopenharmony_ci      every reporting interval, other items SHOULD only be sent every
23753a5a1b3Sopenharmony_ci      third reporting interval, with NAME sent seven out of eight times
23853a5a1b3Sopenharmony_ci      within that slot and the remaining SDES items cyclically taking up
23953a5a1b3Sopenharmony_ci      the eighth slot, as defined in Section 6.2.2 of the RTP
24053a5a1b3Sopenharmony_ci      specification.  In other words, NAME is sent in RTCP packets 1, 4,
24153a5a1b3Sopenharmony_ci      7, 10, 13, 16, 19, while, say, EMAIL is used in RTCP packet 22.
24253a5a1b3Sopenharmony_ci
24353a5a1b3Sopenharmony_ci   Security: The RTP default security services are also the default
24453a5a1b3Sopenharmony_ci      under this profile.
24553a5a1b3Sopenharmony_ci
24653a5a1b3Sopenharmony_ci   String-to-key mapping: No mapping is specified by this profile.
24753a5a1b3Sopenharmony_ci
24853a5a1b3Sopenharmony_ci   Congestion: RTP and this profile may be used in the context of
24953a5a1b3Sopenharmony_ci      enhanced network service, for example, through Integrated Services
25053a5a1b3Sopenharmony_ci      (RFC 1633) [4] or Differentiated Services (RFC 2475) [5], or they
25153a5a1b3Sopenharmony_ci      may be used with best effort service.
25253a5a1b3Sopenharmony_ci
25353a5a1b3Sopenharmony_ci      If enhanced service is being used, RTP receivers SHOULD monitor
25453a5a1b3Sopenharmony_ci      packet loss to ensure that the service that was requested is
25553a5a1b3Sopenharmony_ci      actually being delivered.  If it is not, then they SHOULD assume
25653a5a1b3Sopenharmony_ci      that they are receiving best-effort service and behave
25753a5a1b3Sopenharmony_ci      accordingly.
25853a5a1b3Sopenharmony_ci
25953a5a1b3Sopenharmony_ci      If best-effort service is being used, RTP receivers SHOULD monitor
26053a5a1b3Sopenharmony_ci      packet loss to ensure that the packet loss rate is within
26153a5a1b3Sopenharmony_ci      acceptable parameters.  Packet loss is considered acceptable if a
26253a5a1b3Sopenharmony_ci      TCP flow across the same network path and experiencing the same
26353a5a1b3Sopenharmony_ci      network conditions would achieve an average throughput, measured
26453a5a1b3Sopenharmony_ci      on a reasonable timescale, that is not less than the RTP flow is
26553a5a1b3Sopenharmony_ci      achieving.  This condition can be satisfied by implementing
26653a5a1b3Sopenharmony_ci      congestion control mechanisms to adapt the transmission rate (or
26753a5a1b3Sopenharmony_ci      the number of layers subscribed for a layered multicast session),
26853a5a1b3Sopenharmony_ci      or by arranging for a receiver to leave the session if the loss
26953a5a1b3Sopenharmony_ci      rate is unacceptably high.
27053a5a1b3Sopenharmony_ci
27153a5a1b3Sopenharmony_ci      The comparison to TCP cannot be specified exactly, but is intended
27253a5a1b3Sopenharmony_ci      as an "order-of-magnitude" comparison in timescale and throughput.
27353a5a1b3Sopenharmony_ci      The timescale on which TCP throughput is measured is the round-
27453a5a1b3Sopenharmony_ci      trip time of the connection.  In essence, this requirement states
27553a5a1b3Sopenharmony_ci      that it is not acceptable to deploy an application (using RTP or
27653a5a1b3Sopenharmony_ci      any other transport protocol) on the best-effort Internet which
27753a5a1b3Sopenharmony_ci      consumes bandwidth arbitrarily and does not compete fairly with
27853a5a1b3Sopenharmony_ci      TCP within an order of magnitude.
27953a5a1b3Sopenharmony_ci
28053a5a1b3Sopenharmony_ci
28153a5a1b3Sopenharmony_ci
28253a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                     [Page 5]
28353a5a1b3Sopenharmony_ci
28453a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
28553a5a1b3Sopenharmony_ci
28653a5a1b3Sopenharmony_ci
28753a5a1b3Sopenharmony_ci   Underlying protocol: The profile specifies the use of RTP over
28853a5a1b3Sopenharmony_ci      unicast and multicast UDP as well as TCP.  (This does not preclude
28953a5a1b3Sopenharmony_ci      the use of these definitions when RTP is carried by other lower-
29053a5a1b3Sopenharmony_ci      layer protocols.)
29153a5a1b3Sopenharmony_ci
29253a5a1b3Sopenharmony_ci   Transport mapping: The standard mapping of RTP and RTCP to
29353a5a1b3Sopenharmony_ci      transport-level addresses is used.
29453a5a1b3Sopenharmony_ci
29553a5a1b3Sopenharmony_ci   Encapsulation: This profile leaves to applications the
29653a5a1b3Sopenharmony_ci      specification of RTP encapsulation in protocols other than UDP.
29753a5a1b3Sopenharmony_ci
29853a5a1b3Sopenharmony_ci3.  Registering Additional Encodings
29953a5a1b3Sopenharmony_ci
30053a5a1b3Sopenharmony_ci   This profile lists a set of encodings, each of which is comprised of
30153a5a1b3Sopenharmony_ci   a particular media data compression or representation plus a payload
30253a5a1b3Sopenharmony_ci   format for encapsulation within RTP.  Some of those payload formats
30353a5a1b3Sopenharmony_ci   are specified here, while others are specified in separate RFCs.  It
30453a5a1b3Sopenharmony_ci   is expected that additional encodings beyond the set listed here will
30553a5a1b3Sopenharmony_ci   be created in the future and specified in additional payload format
30653a5a1b3Sopenharmony_ci   RFCs.
30753a5a1b3Sopenharmony_ci
30853a5a1b3Sopenharmony_ci   This profile also assigns to each encoding a short name which MAY be
30953a5a1b3Sopenharmony_ci   used by higher-level control protocols, such as the Session
31053a5a1b3Sopenharmony_ci   Description Protocol (SDP), RFC 2327 [6], to identify encodings
31153a5a1b3Sopenharmony_ci   selected for a particular RTP session.
31253a5a1b3Sopenharmony_ci
31353a5a1b3Sopenharmony_ci   In some contexts it may be useful to refer to these encodings in the
31453a5a1b3Sopenharmony_ci   form of a MIME content-type.  To facilitate this, RFC 3555 [7]
31553a5a1b3Sopenharmony_ci   provides registrations for all of the encodings names listed here as
31653a5a1b3Sopenharmony_ci   MIME subtype names under the "audio" and "video" MIME types through
31753a5a1b3Sopenharmony_ci   the MIME registration procedure as specified in RFC 2048 [8].
31853a5a1b3Sopenharmony_ci
31953a5a1b3Sopenharmony_ci   Any additional encodings specified for use under this profile (or
32053a5a1b3Sopenharmony_ci   others) may also be assigned names registered as MIME subtypes with
32153a5a1b3Sopenharmony_ci   the Internet Assigned Numbers Authority (IANA).  This registry
32253a5a1b3Sopenharmony_ci   provides a means to insure that the names assigned to the additional
32353a5a1b3Sopenharmony_ci   encodings are kept unique.  RFC 3555 specifies the information that
32453a5a1b3Sopenharmony_ci   is required for the registration of RTP encodings.
32553a5a1b3Sopenharmony_ci
32653a5a1b3Sopenharmony_ci   In addition to assigning names to encodings, this profile also
32753a5a1b3Sopenharmony_ci   assigns static RTP payload type numbers to some of them.  However,
32853a5a1b3Sopenharmony_ci   the payload type number space is relatively small and cannot
32953a5a1b3Sopenharmony_ci   accommodate assignments for all existing and future encodings.
33053a5a1b3Sopenharmony_ci   During the early stages of RTP development, it was necessary to use
33153a5a1b3Sopenharmony_ci   statically assigned payload types because no other mechanism had been
33253a5a1b3Sopenharmony_ci   specified to bind encodings to payload types.  It was anticipated
33353a5a1b3Sopenharmony_ci   that non-RTP means beyond the scope of this memo (such as directory
33453a5a1b3Sopenharmony_ci   services or invitation protocols) would be specified to establish a
33553a5a1b3Sopenharmony_ci
33653a5a1b3Sopenharmony_ci
33753a5a1b3Sopenharmony_ci
33853a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                     [Page 6]
33953a5a1b3Sopenharmony_ci
34053a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
34153a5a1b3Sopenharmony_ci
34253a5a1b3Sopenharmony_ci
34353a5a1b3Sopenharmony_ci   dynamic mapping between a payload type and an encoding.  Now,
34453a5a1b3Sopenharmony_ci   mechanisms for defining dynamic payload type bindings have been
34553a5a1b3Sopenharmony_ci   specified in the Session Description Protocol (SDP) and in other
34653a5a1b3Sopenharmony_ci   protocols such as ITU-T Recommendation H.323/H.245.  These mechanisms
34753a5a1b3Sopenharmony_ci   associate the registered name of the encoding/payload format, along
34853a5a1b3Sopenharmony_ci   with any additional required parameters, such as the RTP timestamp
34953a5a1b3Sopenharmony_ci   clock rate and number of channels, with a payload type number.  This
35053a5a1b3Sopenharmony_ci   association is effective only for the duration of the RTP session in
35153a5a1b3Sopenharmony_ci   which the dynamic payload type binding is made.  This association
35253a5a1b3Sopenharmony_ci   applies only to the RTP session for which it is made, thus the
35353a5a1b3Sopenharmony_ci   numbers can be re-used for different encodings in different sessions
35453a5a1b3Sopenharmony_ci   so the number space limitation is avoided.
35553a5a1b3Sopenharmony_ci
35653a5a1b3Sopenharmony_ci   This profile reserves payload type numbers in the range 96-127
35753a5a1b3Sopenharmony_ci   exclusively for dynamic assignment.  Applications SHOULD first use
35853a5a1b3Sopenharmony_ci   values in this range for dynamic payload types.  Those applications
35953a5a1b3Sopenharmony_ci   which need to define more than 32 dynamic payload types MAY bind
36053a5a1b3Sopenharmony_ci   codes below 96, in which case it is RECOMMENDED that unassigned
36153a5a1b3Sopenharmony_ci   payload type numbers be used first.  However, the statically assigned
36253a5a1b3Sopenharmony_ci   payload types are default bindings and MAY be dynamically bound to
36353a5a1b3Sopenharmony_ci   new encodings if needed.  Redefining payload types below 96 may cause
36453a5a1b3Sopenharmony_ci   incorrect operation if an attempt is made to join a session without
36553a5a1b3Sopenharmony_ci   obtaining session description information that defines the dynamic
36653a5a1b3Sopenharmony_ci   payload types.
36753a5a1b3Sopenharmony_ci
36853a5a1b3Sopenharmony_ci   Dynamic payload types SHOULD NOT be used without a well-defined
36953a5a1b3Sopenharmony_ci   mechanism to indicate the mapping.  Systems that expect to
37053a5a1b3Sopenharmony_ci   interoperate with others operating under this profile SHOULD NOT make
37153a5a1b3Sopenharmony_ci   their own assignments of proprietary encodings to particular, fixed
37253a5a1b3Sopenharmony_ci   payload types.
37353a5a1b3Sopenharmony_ci
37453a5a1b3Sopenharmony_ci   This specification establishes the policy that no additional static
37553a5a1b3Sopenharmony_ci   payload types will be assigned beyond the ones defined in this
37653a5a1b3Sopenharmony_ci   document.  Establishing this policy avoids the problem of trying to
37753a5a1b3Sopenharmony_ci   create a set of criteria for accepting static assignments and
37853a5a1b3Sopenharmony_ci   encourages the implementation and deployment of the dynamic payload
37953a5a1b3Sopenharmony_ci   type mechanisms.
38053a5a1b3Sopenharmony_ci
38153a5a1b3Sopenharmony_ci   The final set of static payload type assignments is provided in
38253a5a1b3Sopenharmony_ci   Tables 4 and 5.
38353a5a1b3Sopenharmony_ci
38453a5a1b3Sopenharmony_ci
38553a5a1b3Sopenharmony_ci
38653a5a1b3Sopenharmony_ci
38753a5a1b3Sopenharmony_ci
38853a5a1b3Sopenharmony_ci
38953a5a1b3Sopenharmony_ci
39053a5a1b3Sopenharmony_ci
39153a5a1b3Sopenharmony_ci
39253a5a1b3Sopenharmony_ci
39353a5a1b3Sopenharmony_ci
39453a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                     [Page 7]
39553a5a1b3Sopenharmony_ci
39653a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
39753a5a1b3Sopenharmony_ci
39853a5a1b3Sopenharmony_ci
39953a5a1b3Sopenharmony_ci4.  Audio
40053a5a1b3Sopenharmony_ci
40153a5a1b3Sopenharmony_ci4.1  Encoding-Independent Rules
40253a5a1b3Sopenharmony_ci
40353a5a1b3Sopenharmony_ci   Since the ability to suppress silence is one of the primary
40453a5a1b3Sopenharmony_ci   motivations for using packets to transmit voice, the RTP header
40553a5a1b3Sopenharmony_ci   carries both a sequence number and a timestamp to allow a receiver to
40653a5a1b3Sopenharmony_ci   distinguish between lost packets and periods of time when no data was
40753a5a1b3Sopenharmony_ci   transmitted.  Discontiguous transmission (silence suppression) MAY be
40853a5a1b3Sopenharmony_ci   used with any audio payload format.  Receivers MUST assume that
40953a5a1b3Sopenharmony_ci   senders may suppress silence unless this is restricted by signaling
41053a5a1b3Sopenharmony_ci   specified elsewhere.  (Even if the transmitter does not suppress
41153a5a1b3Sopenharmony_ci   silence, the receiver should be prepared to handle periods when no
41253a5a1b3Sopenharmony_ci   data is present since packets may be lost.)
41353a5a1b3Sopenharmony_ci
41453a5a1b3Sopenharmony_ci   Some payload formats (see Sections 4.5.3 and 4.5.6) define a "silence
41553a5a1b3Sopenharmony_ci   insertion descriptor" or "comfort noise" frame to specify parameters
41653a5a1b3Sopenharmony_ci   for artificial noise that may be generated during a period of silence
41753a5a1b3Sopenharmony_ci   to approximate the background noise at the source.  For other payload
41853a5a1b3Sopenharmony_ci   formats, a generic Comfort Noise (CN) payload format is specified in
41953a5a1b3Sopenharmony_ci   RFC 3389 [9].  When the CN payload format is used with another
42053a5a1b3Sopenharmony_ci   payload format, different values in the RTP payload type field
42153a5a1b3Sopenharmony_ci   distinguish comfort-noise packets from those of the selected payload
42253a5a1b3Sopenharmony_ci   format.
42353a5a1b3Sopenharmony_ci
42453a5a1b3Sopenharmony_ci   For applications which send either no packets or occasional comfort-
42553a5a1b3Sopenharmony_ci   noise packets during silence, the first packet of a talkspurt, that
42653a5a1b3Sopenharmony_ci   is, the first packet after a silence period during which packets have
42753a5a1b3Sopenharmony_ci   not been transmitted contiguously, SHOULD be distinguished by setting
42853a5a1b3Sopenharmony_ci   the marker bit in the RTP data header to one.  The marker bit in all
42953a5a1b3Sopenharmony_ci   other packets is zero.  The beginning of a talkspurt MAY be used to
43053a5a1b3Sopenharmony_ci   adjust the playout delay to reflect changing network delays.
43153a5a1b3Sopenharmony_ci   Applications without silence suppression MUST set the marker bit to
43253a5a1b3Sopenharmony_ci   zero.
43353a5a1b3Sopenharmony_ci
43453a5a1b3Sopenharmony_ci   The RTP clock rate used for generating the RTP timestamp is
43553a5a1b3Sopenharmony_ci   independent of the number of channels and the encoding; it usually
43653a5a1b3Sopenharmony_ci   equals the number of sampling periods per second.  For N-channel
43753a5a1b3Sopenharmony_ci   encodings, each sampling period (say, 1/8,000 of a second) generates
43853a5a1b3Sopenharmony_ci   N samples.  (This terminology is standard, but somewhat confusing, as
43953a5a1b3Sopenharmony_ci   the total number of samples generated per second is then the sampling
44053a5a1b3Sopenharmony_ci   rate times the channel count.)
44153a5a1b3Sopenharmony_ci
44253a5a1b3Sopenharmony_ci   If multiple audio channels are used, channels are numbered left-to-
44353a5a1b3Sopenharmony_ci   right, starting at one.  In RTP audio packets, information from
44453a5a1b3Sopenharmony_ci   lower-numbered channels precedes that from higher-numbered channels.
44553a5a1b3Sopenharmony_ci
44653a5a1b3Sopenharmony_ci
44753a5a1b3Sopenharmony_ci
44853a5a1b3Sopenharmony_ci
44953a5a1b3Sopenharmony_ci
45053a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                     [Page 8]
45153a5a1b3Sopenharmony_ci
45253a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
45353a5a1b3Sopenharmony_ci
45453a5a1b3Sopenharmony_ci
45553a5a1b3Sopenharmony_ci   For more than two channels, the convention followed by the AIFF-C
45653a5a1b3Sopenharmony_ci   audio interchange format SHOULD be followed [3], using the following
45753a5a1b3Sopenharmony_ci   notation, unless some other convention is specified for a particular
45853a5a1b3Sopenharmony_ci   encoding or payload format:
45953a5a1b3Sopenharmony_ci
46053a5a1b3Sopenharmony_ci      l  left
46153a5a1b3Sopenharmony_ci      r  right
46253a5a1b3Sopenharmony_ci      c  center
46353a5a1b3Sopenharmony_ci      S  surround
46453a5a1b3Sopenharmony_ci      F  front
46553a5a1b3Sopenharmony_ci      R  rear
46653a5a1b3Sopenharmony_ci
46753a5a1b3Sopenharmony_ci      channels  description  channel
46853a5a1b3Sopenharmony_ci                                1     2   3   4   5   6
46953a5a1b3Sopenharmony_ci      _________________________________________________
47053a5a1b3Sopenharmony_ci      2         stereo          l     r
47153a5a1b3Sopenharmony_ci      3                         l     r   c
47253a5a1b3Sopenharmony_ci      4                         l     c   r   S
47353a5a1b3Sopenharmony_ci      5                        Fl     Fr  Fc  Sl  Sr
47453a5a1b3Sopenharmony_ci      6                         l     lc  c   r   rc  S
47553a5a1b3Sopenharmony_ci
47653a5a1b3Sopenharmony_ci         Note: RFC 1890 defined two conventions for the ordering of four
47753a5a1b3Sopenharmony_ci         audio channels.  Since the ordering is indicated implicitly by
47853a5a1b3Sopenharmony_ci         the number of channels, this was ambiguous.  In this revision,
47953a5a1b3Sopenharmony_ci         the order described as "quadrophonic" has been eliminated to
48053a5a1b3Sopenharmony_ci         remove the ambiguity.  This choice was based on the observation
48153a5a1b3Sopenharmony_ci         that quadrophonic consumer audio format did not become popular
48253a5a1b3Sopenharmony_ci         whereas surround-sound subsequently has.
48353a5a1b3Sopenharmony_ci
48453a5a1b3Sopenharmony_ci   Samples for all channels belonging to a single sampling instant MUST
48553a5a1b3Sopenharmony_ci   be within the same packet.  The interleaving of samples from
48653a5a1b3Sopenharmony_ci   different channels depends on the encoding.  General guidelines are
48753a5a1b3Sopenharmony_ci   given in Section 4.3 and 4.4.
48853a5a1b3Sopenharmony_ci
48953a5a1b3Sopenharmony_ci   The sampling frequency SHOULD be drawn from the set:  8,000, 11,025,
49053a5a1b3Sopenharmony_ci   16,000, 22,050, 24,000, 32,000, 44,100 and 48,000 Hz.  (Older Apple
49153a5a1b3Sopenharmony_ci   Macintosh computers had a native sample rate of 22,254.54 Hz, which
49253a5a1b3Sopenharmony_ci   can be converted to 22,050 with acceptable quality by dropping 4
49353a5a1b3Sopenharmony_ci   samples in a 20 ms frame.)  However, most audio encodings are defined
49453a5a1b3Sopenharmony_ci   for a more restricted set of sampling frequencies.  Receivers SHOULD
49553a5a1b3Sopenharmony_ci   be prepared to accept multi-channel audio, but MAY choose to only
49653a5a1b3Sopenharmony_ci   play a single channel.
49753a5a1b3Sopenharmony_ci
49853a5a1b3Sopenharmony_ci4.2  Operating Recommendations
49953a5a1b3Sopenharmony_ci
50053a5a1b3Sopenharmony_ci   The following recommendations are default operating parameters.
50153a5a1b3Sopenharmony_ci   Applications SHOULD be prepared to handle other values.  The ranges
50253a5a1b3Sopenharmony_ci   given are meant to give guidance to application writers, allowing a
50353a5a1b3Sopenharmony_ci
50453a5a1b3Sopenharmony_ci
50553a5a1b3Sopenharmony_ci
50653a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                     [Page 9]
50753a5a1b3Sopenharmony_ci
50853a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
50953a5a1b3Sopenharmony_ci
51053a5a1b3Sopenharmony_ci
51153a5a1b3Sopenharmony_ci   set of applications conforming to these guidelines to interoperate
51253a5a1b3Sopenharmony_ci   without additional negotiation.  These guidelines are not intended to
51353a5a1b3Sopenharmony_ci   restrict operating parameters for applications that can negotiate a
51453a5a1b3Sopenharmony_ci   set of interoperable parameters, e.g., through a conference control
51553a5a1b3Sopenharmony_ci   protocol.
51653a5a1b3Sopenharmony_ci
51753a5a1b3Sopenharmony_ci   For packetized audio, the default packetization interval SHOULD have
51853a5a1b3Sopenharmony_ci   a duration of 20 ms or one frame, whichever is longer, unless
51953a5a1b3Sopenharmony_ci   otherwise noted in Table 1 (column "ms/packet").  The packetization
52053a5a1b3Sopenharmony_ci   interval determines the minimum end-to-end delay; longer packets
52153a5a1b3Sopenharmony_ci   introduce less header overhead but higher delay and make packet loss
52253a5a1b3Sopenharmony_ci   more noticeable.  For non-interactive applications such as lectures
52353a5a1b3Sopenharmony_ci   or for links with severe bandwidth constraints, a higher
52453a5a1b3Sopenharmony_ci   packetization delay MAY be used.  A receiver SHOULD accept packets
52553a5a1b3Sopenharmony_ci   representing between 0 and 200 ms of audio data.  (For framed audio
52653a5a1b3Sopenharmony_ci   encodings, a receiver SHOULD accept packets with a number of frames
52753a5a1b3Sopenharmony_ci   equal to 200 ms divided by the frame duration, rounded up.)  This
52853a5a1b3Sopenharmony_ci   restriction allows reasonable buffer sizing for the receiver.
52953a5a1b3Sopenharmony_ci
53053a5a1b3Sopenharmony_ci4.3  Guidelines for Sample-Based Audio Encodings
53153a5a1b3Sopenharmony_ci
53253a5a1b3Sopenharmony_ci   In sample-based encodings, each audio sample is represented by a
53353a5a1b3Sopenharmony_ci   fixed number of bits.  Within the compressed audio data, codes for
53453a5a1b3Sopenharmony_ci   individual samples may span octet boundaries.  An RTP audio packet
53553a5a1b3Sopenharmony_ci   may contain any number of audio samples, subject to the constraint
53653a5a1b3Sopenharmony_ci   that the number of bits per sample times the number of samples per
53753a5a1b3Sopenharmony_ci   packet yields an integral octet count.  Fractional encodings produce
53853a5a1b3Sopenharmony_ci   less than one octet per sample.
53953a5a1b3Sopenharmony_ci
54053a5a1b3Sopenharmony_ci   The duration of an audio packet is determined by the number of
54153a5a1b3Sopenharmony_ci   samples in the packet.
54253a5a1b3Sopenharmony_ci
54353a5a1b3Sopenharmony_ci   For sample-based encodings producing one or more octets per sample,
54453a5a1b3Sopenharmony_ci   samples from different channels sampled at the same sampling instant
54553a5a1b3Sopenharmony_ci   SHOULD be packed in consecutive octets.  For example, for a two-
54653a5a1b3Sopenharmony_ci   channel encoding, the octet sequence is (left channel, first sample),
54753a5a1b3Sopenharmony_ci   (right channel, first sample), (left channel, second sample), (right
54853a5a1b3Sopenharmony_ci   channel, second sample), ....  For multi-octet encodings, octets
54953a5a1b3Sopenharmony_ci   SHOULD be transmitted in network byte order (i.e., most significant
55053a5a1b3Sopenharmony_ci   octet first).
55153a5a1b3Sopenharmony_ci
55253a5a1b3Sopenharmony_ci   The packing of sample-based encodings producing less than one octet
55353a5a1b3Sopenharmony_ci   per sample is encoding-specific.
55453a5a1b3Sopenharmony_ci
55553a5a1b3Sopenharmony_ci   The RTP timestamp reflects the instant at which the first sample in
55653a5a1b3Sopenharmony_ci   the packet was sampled, that is, the oldest information in the
55753a5a1b3Sopenharmony_ci   packet.
55853a5a1b3Sopenharmony_ci
55953a5a1b3Sopenharmony_ci
56053a5a1b3Sopenharmony_ci
56153a5a1b3Sopenharmony_ci
56253a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 10]
56353a5a1b3Sopenharmony_ci
56453a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
56553a5a1b3Sopenharmony_ci
56653a5a1b3Sopenharmony_ci
56753a5a1b3Sopenharmony_ci4.4  Guidelines for Frame-Based Audio Encodings
56853a5a1b3Sopenharmony_ci
56953a5a1b3Sopenharmony_ci   Frame-based encodings encode a fixed-length block of audio into
57053a5a1b3Sopenharmony_ci   another block of compressed data, typically also of fixed length.
57153a5a1b3Sopenharmony_ci   For frame-based encodings, the sender MAY choose to combine several
57253a5a1b3Sopenharmony_ci   such frames into a single RTP packet.  The receiver can tell the
57353a5a1b3Sopenharmony_ci   number of frames contained in an RTP packet, if all the frames have
57453a5a1b3Sopenharmony_ci   the same length, by dividing the RTP payload length by the audio
57553a5a1b3Sopenharmony_ci   frame size which is defined as part of the encoding.  This does not
57653a5a1b3Sopenharmony_ci   work when carrying frames of different sizes unless the frame sizes
57753a5a1b3Sopenharmony_ci   are relatively prime.  If not, the frames MUST indicate their size.
57853a5a1b3Sopenharmony_ci
57953a5a1b3Sopenharmony_ci   For frame-based codecs, the channel order is defined for the whole
58053a5a1b3Sopenharmony_ci   block.  That is, for two-channel audio, right and left samples SHOULD
58153a5a1b3Sopenharmony_ci   be coded independently, with the encoded frame for the left channel
58253a5a1b3Sopenharmony_ci   preceding that for the right channel.
58353a5a1b3Sopenharmony_ci
58453a5a1b3Sopenharmony_ci   All frame-oriented audio codecs SHOULD be able to encode and decode
58553a5a1b3Sopenharmony_ci   several consecutive frames within a single packet.  Since the frame
58653a5a1b3Sopenharmony_ci   size for the frame-oriented codecs is given, there is no need to use
58753a5a1b3Sopenharmony_ci   a separate designation for the same encoding, but with different
58853a5a1b3Sopenharmony_ci   number of frames per packet.
58953a5a1b3Sopenharmony_ci
59053a5a1b3Sopenharmony_ci   RTP packets SHALL contain a whole number of frames, with frames
59153a5a1b3Sopenharmony_ci   inserted according to age within a packet, so that the oldest frame
59253a5a1b3Sopenharmony_ci   (to be played first) occurs immediately after the RTP packet header.
59353a5a1b3Sopenharmony_ci   The RTP timestamp reflects the instant at which the first sample in
59453a5a1b3Sopenharmony_ci   the first frame was sampled, that is, the oldest information in the
59553a5a1b3Sopenharmony_ci   packet.
59653a5a1b3Sopenharmony_ci
59753a5a1b3Sopenharmony_ci
59853a5a1b3Sopenharmony_ci
59953a5a1b3Sopenharmony_ci
60053a5a1b3Sopenharmony_ci
60153a5a1b3Sopenharmony_ci
60253a5a1b3Sopenharmony_ci
60353a5a1b3Sopenharmony_ci
60453a5a1b3Sopenharmony_ci
60553a5a1b3Sopenharmony_ci
60653a5a1b3Sopenharmony_ci
60753a5a1b3Sopenharmony_ci
60853a5a1b3Sopenharmony_ci
60953a5a1b3Sopenharmony_ci
61053a5a1b3Sopenharmony_ci
61153a5a1b3Sopenharmony_ci
61253a5a1b3Sopenharmony_ci
61353a5a1b3Sopenharmony_ci
61453a5a1b3Sopenharmony_ci
61553a5a1b3Sopenharmony_ci
61653a5a1b3Sopenharmony_ci
61753a5a1b3Sopenharmony_ci
61853a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 11]
61953a5a1b3Sopenharmony_ci
62053a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
62153a5a1b3Sopenharmony_ci
62253a5a1b3Sopenharmony_ci
62353a5a1b3Sopenharmony_ci4.5 Audio Encodings
62453a5a1b3Sopenharmony_ci
62553a5a1b3Sopenharmony_ci   name of                              sampling              default
62653a5a1b3Sopenharmony_ci   encoding  sample/frame  bits/sample      rate  ms/frame  ms/packet
62753a5a1b3Sopenharmony_ci   __________________________________________________________________
62853a5a1b3Sopenharmony_ci   DVI4      sample        4                var.                   20
62953a5a1b3Sopenharmony_ci   G722      sample        8              16,000                   20
63053a5a1b3Sopenharmony_ci   G723      frame         N/A             8,000        30         30
63153a5a1b3Sopenharmony_ci   G726-40   sample        5               8,000                   20
63253a5a1b3Sopenharmony_ci   G726-32   sample        4               8,000                   20
63353a5a1b3Sopenharmony_ci   G726-24   sample        3               8,000                   20
63453a5a1b3Sopenharmony_ci   G726-16   sample        2               8,000                   20
63553a5a1b3Sopenharmony_ci   G728      frame         N/A             8,000       2.5         20
63653a5a1b3Sopenharmony_ci   G729      frame         N/A             8,000        10         20
63753a5a1b3Sopenharmony_ci   G729D     frame         N/A             8,000        10         20
63853a5a1b3Sopenharmony_ci   G729E     frame         N/A             8,000        10         20
63953a5a1b3Sopenharmony_ci   GSM       frame         N/A             8,000        20         20
64053a5a1b3Sopenharmony_ci   GSM-EFR   frame         N/A             8,000        20         20
64153a5a1b3Sopenharmony_ci   L8        sample        8                var.                   20
64253a5a1b3Sopenharmony_ci   L16       sample        16               var.                   20
64353a5a1b3Sopenharmony_ci   LPC       frame         N/A             8,000        20         20
64453a5a1b3Sopenharmony_ci   MPA       frame         N/A              var.      var.
64553a5a1b3Sopenharmony_ci   PCMA      sample        8                var.                   20
64653a5a1b3Sopenharmony_ci   PCMU      sample        8                var.                   20
64753a5a1b3Sopenharmony_ci   QCELP     frame         N/A             8,000        20         20
64853a5a1b3Sopenharmony_ci   VDVI      sample        var.             var.                   20
64953a5a1b3Sopenharmony_ci
65053a5a1b3Sopenharmony_ci   Table 1: Properties of Audio Encodings (N/A: not applicable; var.:
65153a5a1b3Sopenharmony_ci            variable)
65253a5a1b3Sopenharmony_ci
65353a5a1b3Sopenharmony_ci   The characteristics of the audio encodings described in this document
65453a5a1b3Sopenharmony_ci   are shown in Table 1; they are listed in order of their payload type
65553a5a1b3Sopenharmony_ci   in Table 4.  While most audio codecs are only specified for a fixed
65653a5a1b3Sopenharmony_ci   sampling rate, some sample-based algorithms (indicated by an entry of
65753a5a1b3Sopenharmony_ci   "var." in the sampling rate column of Table 1) may be used with
65853a5a1b3Sopenharmony_ci   different sampling rates, resulting in different coded bit rates.
65953a5a1b3Sopenharmony_ci   When used with a sampling rate other than that for which a static
66053a5a1b3Sopenharmony_ci   payload type is defined, non-RTP means beyond the scope of this memo
66153a5a1b3Sopenharmony_ci   MUST be used to define a dynamic payload type and MUST indicate the
66253a5a1b3Sopenharmony_ci   selected RTP timestamp clock rate, which is usually the same as the
66353a5a1b3Sopenharmony_ci   sampling rate for audio.
66453a5a1b3Sopenharmony_ci
66553a5a1b3Sopenharmony_ci
66653a5a1b3Sopenharmony_ci
66753a5a1b3Sopenharmony_ci
66853a5a1b3Sopenharmony_ci
66953a5a1b3Sopenharmony_ci
67053a5a1b3Sopenharmony_ci
67153a5a1b3Sopenharmony_ci
67253a5a1b3Sopenharmony_ci
67353a5a1b3Sopenharmony_ci
67453a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 12]
67553a5a1b3Sopenharmony_ci
67653a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
67753a5a1b3Sopenharmony_ci
67853a5a1b3Sopenharmony_ci
67953a5a1b3Sopenharmony_ci4.5.1 DVI4
68053a5a1b3Sopenharmony_ci
68153a5a1b3Sopenharmony_ci   DVI4 uses an adaptive delta pulse code modulation (ADPCM) encoding
68253a5a1b3Sopenharmony_ci   scheme that was specified by the Interactive Multimedia Association
68353a5a1b3Sopenharmony_ci   (IMA) as the "IMA ADPCM wave type".  However, the encoding defined
68453a5a1b3Sopenharmony_ci   here as DVI4 differs in three respects from the IMA specification:
68553a5a1b3Sopenharmony_ci
68653a5a1b3Sopenharmony_ci   o  The RTP DVI4 header contains the predicted value rather than the
68753a5a1b3Sopenharmony_ci      first sample value contained the IMA ADPCM block header.
68853a5a1b3Sopenharmony_ci
68953a5a1b3Sopenharmony_ci   o  IMA ADPCM blocks contain an odd number of samples, since the first
69053a5a1b3Sopenharmony_ci      sample of a block is contained just in the header (uncompressed),
69153a5a1b3Sopenharmony_ci      followed by an even number of compressed samples.  DVI4 has an
69253a5a1b3Sopenharmony_ci      even number of compressed samples only, using the `predict' word
69353a5a1b3Sopenharmony_ci      from the header to decode the first sample.
69453a5a1b3Sopenharmony_ci
69553a5a1b3Sopenharmony_ci   o  For DVI4, the 4-bit samples are packed with the first sample in
69653a5a1b3Sopenharmony_ci      the four most significant bits and the second sample in the four
69753a5a1b3Sopenharmony_ci      least significant bits.  In the IMA ADPCM codec, the samples are
69853a5a1b3Sopenharmony_ci      packed in the opposite order.
69953a5a1b3Sopenharmony_ci
70053a5a1b3Sopenharmony_ci   Each packet contains a single DVI block.  This profile only defines
70153a5a1b3Sopenharmony_ci   the 4-bit-per-sample version, while IMA also specified a 3-bit-per-
70253a5a1b3Sopenharmony_ci   sample encoding.
70353a5a1b3Sopenharmony_ci
70453a5a1b3Sopenharmony_ci   The "header" word for each channel has the following structure:
70553a5a1b3Sopenharmony_ci
70653a5a1b3Sopenharmony_ci      int16  predict;  /* predicted value of first sample
70753a5a1b3Sopenharmony_ci                          from the previous block (L16 format) */
70853a5a1b3Sopenharmony_ci      u_int8 index;    /* current index into stepsize table */
70953a5a1b3Sopenharmony_ci      u_int8 reserved; /* set to zero by sender, ignored by receiver */
71053a5a1b3Sopenharmony_ci
71153a5a1b3Sopenharmony_ci   Each octet following the header contains two 4-bit samples, thus the
71253a5a1b3Sopenharmony_ci   number of samples per packet MUST be even because there is no means
71353a5a1b3Sopenharmony_ci   to indicate a partially filled last octet.
71453a5a1b3Sopenharmony_ci
71553a5a1b3Sopenharmony_ci   Packing of samples for multiple channels is for further study.
71653a5a1b3Sopenharmony_ci
71753a5a1b3Sopenharmony_ci   The IMA ADPCM algorithm was described in the document IMA Recommended
71853a5a1b3Sopenharmony_ci   Practices for Enhancing Digital Audio Compatibility in Multimedia
71953a5a1b3Sopenharmony_ci   Systems (version 3.0).  However, the Interactive Multimedia
72053a5a1b3Sopenharmony_ci   Association ceased operations in 1997.  Resources for an archived
72153a5a1b3Sopenharmony_ci   copy of that document and a software implementation of the RTP DVI4
72253a5a1b3Sopenharmony_ci   encoding are listed in Section 13.
72353a5a1b3Sopenharmony_ci
72453a5a1b3Sopenharmony_ci
72553a5a1b3Sopenharmony_ci
72653a5a1b3Sopenharmony_ci
72753a5a1b3Sopenharmony_ci
72853a5a1b3Sopenharmony_ci
72953a5a1b3Sopenharmony_ci
73053a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 13]
73153a5a1b3Sopenharmony_ci
73253a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
73353a5a1b3Sopenharmony_ci
73453a5a1b3Sopenharmony_ci
73553a5a1b3Sopenharmony_ci4.5.2 G722
73653a5a1b3Sopenharmony_ci
73753a5a1b3Sopenharmony_ci   G722 is specified in ITU-T Recommendation G.722, "7 kHz audio-coding
73853a5a1b3Sopenharmony_ci   within 64 kbit/s".  The G.722 encoder produces a stream of octets,
73953a5a1b3Sopenharmony_ci   each of which SHALL be octet-aligned in an RTP packet.  The first bit
74053a5a1b3Sopenharmony_ci   transmitted in the G.722 octet, which is the most significant bit of
74153a5a1b3Sopenharmony_ci   the higher sub-band sample, SHALL correspond to the most significant
74253a5a1b3Sopenharmony_ci   bit of the octet in the RTP packet.
74353a5a1b3Sopenharmony_ci
74453a5a1b3Sopenharmony_ci   Even though the actual sampling rate for G.722 audio is 16,000 Hz,
74553a5a1b3Sopenharmony_ci   the RTP clock rate for the G722 payload format is 8,000 Hz because
74653a5a1b3Sopenharmony_ci   that value was erroneously assigned in RFC 1890 and must remain
74753a5a1b3Sopenharmony_ci   unchanged for backward compatibility.  The octet rate or sample-pair
74853a5a1b3Sopenharmony_ci   rate is 8,000 Hz.
74953a5a1b3Sopenharmony_ci
75053a5a1b3Sopenharmony_ci4.5.3 G723
75153a5a1b3Sopenharmony_ci
75253a5a1b3Sopenharmony_ci   G723 is specified in ITU Recommendation G.723.1, "Dual-rate speech
75353a5a1b3Sopenharmony_ci   coder for multimedia communications transmitting at 5.3 and 6.3
75453a5a1b3Sopenharmony_ci   kbit/s".  The G.723.1 5.3/6.3 kbit/s codec was defined by the ITU-T
75553a5a1b3Sopenharmony_ci   as a mandatory codec for ITU-T H.324 GSTN videophone terminal
75653a5a1b3Sopenharmony_ci   applications.  The algorithm has a floating point specification in
75753a5a1b3Sopenharmony_ci   Annex B to G.723.1, a silence compression algorithm in Annex A to
75853a5a1b3Sopenharmony_ci   G.723.1 and a scalable channel coding scheme for wireless
75953a5a1b3Sopenharmony_ci   applications in G.723.1 Annex C.
76053a5a1b3Sopenharmony_ci
76153a5a1b3Sopenharmony_ci   This Recommendation specifies a coded representation that can be used
76253a5a1b3Sopenharmony_ci   for compressing the speech signal component of multi-media services
76353a5a1b3Sopenharmony_ci   at a very low bit rate.  Audio is encoded in 30 ms frames, with an
76453a5a1b3Sopenharmony_ci   additional delay of 7.5 ms due to look-ahead.  A G.723.1 frame can be
76553a5a1b3Sopenharmony_ci   one of three sizes:  24 octets (6.3 kb/s frame), 20 octets (5.3 kb/s
76653a5a1b3Sopenharmony_ci   frame), or 4 octets.  These 4-octet frames are called SID frames
76753a5a1b3Sopenharmony_ci   (Silence Insertion Descriptor) and are used to specify comfort noise
76853a5a1b3Sopenharmony_ci   parameters.  There is no restriction on how 4, 20, and 24 octet
76953a5a1b3Sopenharmony_ci   frames are intermixed.  The least significant two bits of the first
77053a5a1b3Sopenharmony_ci   octet in the frame determine the frame size and codec type:
77153a5a1b3Sopenharmony_ci
77253a5a1b3Sopenharmony_ci         bits  content                      octets/frame
77353a5a1b3Sopenharmony_ci         00    high-rate speech (6.3 kb/s)            24
77453a5a1b3Sopenharmony_ci         01    low-rate speech  (5.3 kb/s)            20
77553a5a1b3Sopenharmony_ci         10    SID frame                               4
77653a5a1b3Sopenharmony_ci         11    reserved
77753a5a1b3Sopenharmony_ci
77853a5a1b3Sopenharmony_ci
77953a5a1b3Sopenharmony_ci
78053a5a1b3Sopenharmony_ci
78153a5a1b3Sopenharmony_ci
78253a5a1b3Sopenharmony_ci
78353a5a1b3Sopenharmony_ci
78453a5a1b3Sopenharmony_ci
78553a5a1b3Sopenharmony_ci
78653a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 14]
78753a5a1b3Sopenharmony_ci
78853a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
78953a5a1b3Sopenharmony_ci
79053a5a1b3Sopenharmony_ci
79153a5a1b3Sopenharmony_ci   It is possible to switch between the two rates at any 30 ms frame
79253a5a1b3Sopenharmony_ci   boundary.  Both (5.3 kb/s and 6.3 kb/s) rates are a mandatory part of
79353a5a1b3Sopenharmony_ci   the encoder and decoder.  Receivers MUST accept both data rates and
79453a5a1b3Sopenharmony_ci   MUST accept SID frames unless restriction of these capabilities has
79553a5a1b3Sopenharmony_ci   been signaled.  The MIME registration for G723 in RFC 3555 [7]
79653a5a1b3Sopenharmony_ci   specifies parameters that MAY be used with MIME or SDP to restrict to
79753a5a1b3Sopenharmony_ci   a single data rate or to restrict the use of SID frames.  This coder
79853a5a1b3Sopenharmony_ci   was optimized to represent speech with near-toll quality at the above
79953a5a1b3Sopenharmony_ci   rates using a limited amount of complexity.
80053a5a1b3Sopenharmony_ci
80153a5a1b3Sopenharmony_ci   The packing of the encoded bit stream into octets and the
80253a5a1b3Sopenharmony_ci   transmission order of the octets is specified in Rec. G.723.1 and is
80353a5a1b3Sopenharmony_ci   the same as that produced by the G.723 C code reference
80453a5a1b3Sopenharmony_ci   implementation.  For the 6.3 kb/s data rate, this packing is
80553a5a1b3Sopenharmony_ci   illustrated as follows, where the header (HDR) bits are always "0 0"
80653a5a1b3Sopenharmony_ci   as shown in Fig. 1 to indicate operation at 6.3 kb/s, and the Z bit
80753a5a1b3Sopenharmony_ci   is always set to zero.  The diagrams show the bit packing in "network
80853a5a1b3Sopenharmony_ci   byte order", also known as big-endian order.  The bits of each 32-bit
80953a5a1b3Sopenharmony_ci   word are numbered 0 to 31, with the most significant bit on the left
81053a5a1b3Sopenharmony_ci   and numbered 0.  The octets (bytes) of each word are transmitted most
81153a5a1b3Sopenharmony_ci   significant octet first.  The bits of each data field are numbered in
81253a5a1b3Sopenharmony_ci   the order of the bit stream representation of the encoding (least
81353a5a1b3Sopenharmony_ci   significant bit first).  The vertical bars indicate the boundaries
81453a5a1b3Sopenharmony_ci   between field fragments.
81553a5a1b3Sopenharmony_ci
81653a5a1b3Sopenharmony_ci
81753a5a1b3Sopenharmony_ci
81853a5a1b3Sopenharmony_ci
81953a5a1b3Sopenharmony_ci
82053a5a1b3Sopenharmony_ci
82153a5a1b3Sopenharmony_ci
82253a5a1b3Sopenharmony_ci
82353a5a1b3Sopenharmony_ci
82453a5a1b3Sopenharmony_ci
82553a5a1b3Sopenharmony_ci
82653a5a1b3Sopenharmony_ci
82753a5a1b3Sopenharmony_ci
82853a5a1b3Sopenharmony_ci
82953a5a1b3Sopenharmony_ci
83053a5a1b3Sopenharmony_ci
83153a5a1b3Sopenharmony_ci
83253a5a1b3Sopenharmony_ci
83353a5a1b3Sopenharmony_ci
83453a5a1b3Sopenharmony_ci
83553a5a1b3Sopenharmony_ci
83653a5a1b3Sopenharmony_ci
83753a5a1b3Sopenharmony_ci
83853a5a1b3Sopenharmony_ci
83953a5a1b3Sopenharmony_ci
84053a5a1b3Sopenharmony_ci
84153a5a1b3Sopenharmony_ci
84253a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 15]
84353a5a1b3Sopenharmony_ci
84453a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
84553a5a1b3Sopenharmony_ci
84653a5a1b3Sopenharmony_ci
84753a5a1b3Sopenharmony_ci    0                   1                   2                   3
84853a5a1b3Sopenharmony_ci    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
84953a5a1b3Sopenharmony_ci   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
85053a5a1b3Sopenharmony_ci   |    LPC    |HDR|      LPC      |      LPC      |    ACL0   |LPC|
85153a5a1b3Sopenharmony_ci   |           |   |               |               |           |   |
85253a5a1b3Sopenharmony_ci   |0 0 0 0 0 0|0 0|1 1 1 1 0 0 0 0|2 2 1 1 1 1 1 1|0 0 0 0 0 0|2 2|
85353a5a1b3Sopenharmony_ci   |5 4 3 2 1 0|   |3 2 1 0 9 8 7 6|1 0 9 8 7 6 5 4|5 4 3 2 1 0|3 2|
85453a5a1b3Sopenharmony_ci   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
85553a5a1b3Sopenharmony_ci   |  ACL2   |ACL|A| GAIN0 |ACL|ACL|    GAIN0      |    GAIN1      |
85653a5a1b3Sopenharmony_ci   |         | 1 |C|       | 3 | 2 |               |               |
85753a5a1b3Sopenharmony_ci   |0 0 0 0 0|0 0|0|0 0 0 0|0 0|0 0|1 1 0 0 0 0 0 0|0 0 0 0 0 0 0 0|
85853a5a1b3Sopenharmony_ci   |4 3 2 1 0|1 0|6|3 2 1 0|1 0|6 5|1 0 9 8 7 6 5 4|7 6 5 4 3 2 1 0|
85953a5a1b3Sopenharmony_ci   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
86053a5a1b3Sopenharmony_ci   | GAIN2 | GAIN1 |     GAIN2     |     GAIN3     | GRID  | GAIN3 |
86153a5a1b3Sopenharmony_ci   |       |       |               |               |       |       |
86253a5a1b3Sopenharmony_ci   |0 0 0 0|1 1 0 0|1 1 0 0 0 0 0 0|0 0 0 0 0 0 0 0|0 0 0 0|1 1 0 0|
86353a5a1b3Sopenharmony_ci   |3 2 1 0|1 0 9 8|1 0 9 8 7 6 5 4|7 6 5 4 3 2 1 0|3 2 1 0|1 0 9 8|
86453a5a1b3Sopenharmony_ci   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
86553a5a1b3Sopenharmony_ci   |   MSBPOS    |Z|POS|  MSBPOS   |     POS0      |POS|   POS0    |
86653a5a1b3Sopenharmony_ci   |             | | 0 |           |               | 1 |           |
86753a5a1b3Sopenharmony_ci   |0 0 0 0 0 0 0|0|0 0|1 1 1 0 0 0|0 0 0 0 0 0 0 0|0 0|1 1 1 1 1 1|
86853a5a1b3Sopenharmony_ci   |6 5 4 3 2 1 0| |1 0|2 1 0 9 8 7|9 8 7 6 5 4 3 2|1 0|5 4 3 2 1 0|
86953a5a1b3Sopenharmony_ci   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
87053a5a1b3Sopenharmony_ci   |     POS1      | POS2  | POS1  |     POS2      | POS3  | POS2  |
87153a5a1b3Sopenharmony_ci   |               |       |       |               |       |       |
87253a5a1b3Sopenharmony_ci   |0 0 0 0 0 0 0 0|0 0 0 0|1 1 1 1|1 1 0 0 0 0 0 0|0 0 0 0|1 1 1 1|
87353a5a1b3Sopenharmony_ci   |9 8 7 6 5 4 3 2|3 2 1 0|3 2 1 0|1 0 9 8 7 6 5 4|3 2 1 0|5 4 3 2|
87453a5a1b3Sopenharmony_ci   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
87553a5a1b3Sopenharmony_ci   |     POS3      |   PSIG0   |POS|PSIG2|  PSIG1  |  PSIG3  |PSIG2|
87653a5a1b3Sopenharmony_ci   |               |           | 3 |     |         |         |     |
87753a5a1b3Sopenharmony_ci   |1 1 0 0 0 0 0 0|0 0 0 0 0 0|1 1|0 0 0|0 0 0 0 0|0 0 0 0 0|0 0 0|
87853a5a1b3Sopenharmony_ci   |1 0 9 8 7 6 5 4|5 4 3 2 1 0|3 2|2 1 0|4 3 2 1 0|4 3 2 1 0|5 4 3|
87953a5a1b3Sopenharmony_ci   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
88053a5a1b3Sopenharmony_ci
88153a5a1b3Sopenharmony_ci                  Figure 1: G.723 (6.3 kb/s) bit packing
88253a5a1b3Sopenharmony_ci
88353a5a1b3Sopenharmony_ci   For the 5.3 kb/s data rate, the header (HDR) bits are always "0 1",
88453a5a1b3Sopenharmony_ci   as shown in Fig. 2, to indicate operation at 5.3 kb/s.
88553a5a1b3Sopenharmony_ci
88653a5a1b3Sopenharmony_ci
88753a5a1b3Sopenharmony_ci
88853a5a1b3Sopenharmony_ci
88953a5a1b3Sopenharmony_ci
89053a5a1b3Sopenharmony_ci
89153a5a1b3Sopenharmony_ci
89253a5a1b3Sopenharmony_ci
89353a5a1b3Sopenharmony_ci
89453a5a1b3Sopenharmony_ci
89553a5a1b3Sopenharmony_ci
89653a5a1b3Sopenharmony_ci
89753a5a1b3Sopenharmony_ci
89853a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 16]
89953a5a1b3Sopenharmony_ci
90053a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
90153a5a1b3Sopenharmony_ci
90253a5a1b3Sopenharmony_ci
90353a5a1b3Sopenharmony_ci    0                   1                   2                   3
90453a5a1b3Sopenharmony_ci    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
90553a5a1b3Sopenharmony_ci   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
90653a5a1b3Sopenharmony_ci   |    LPC    |HDR|      LPC      |      LPC      |   ACL0    |LPC|
90753a5a1b3Sopenharmony_ci   |           |   |               |               |           |   |
90853a5a1b3Sopenharmony_ci   |0 0 0 0 0 0|0 1|1 1 1 1 0 0 0 0|2 2 1 1 1 1 1 1|0 0 0 0 0 0|2 2|
90953a5a1b3Sopenharmony_ci   |5 4 3 2 1 0|   |3 2 1 0 9 8 7 6|1 0 9 8 7 6 5 4|5 4 3 2 1 0|3 2|
91053a5a1b3Sopenharmony_ci   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
91153a5a1b3Sopenharmony_ci   |  ACL2   |ACL|A| GAIN0 |ACL|ACL|     GAIN0     |     GAIN1     |
91253a5a1b3Sopenharmony_ci   |         | 1 |C|       | 3 | 2 |               |               |
91353a5a1b3Sopenharmony_ci   |0 0 0 0 0|0 0|0|0 0 0 0|0 0|0 0|1 1 0 0 0 0 0 0|0 0 0 0 0 0 0 0|
91453a5a1b3Sopenharmony_ci   |4 3 2 1 0|1 0|6|3 2 1 0|1 0|6 5|1 0 9 8 7 6 5 4|7 6 5 4 3 2 1 0|
91553a5a1b3Sopenharmony_ci   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
91653a5a1b3Sopenharmony_ci   | GAIN2 | GAIN1 |     GAIN2     |    GAIN3      | GRID  | GAIN3 |
91753a5a1b3Sopenharmony_ci   |       |       |               |               |       |       |
91853a5a1b3Sopenharmony_ci   |0 0 0 0|1 1 0 0|1 1 0 0 0 0 0 0|0 0 0 0 0 0 0 0|0 0 0 0|1 1 0 0|
91953a5a1b3Sopenharmony_ci   |3 2 1 0|1 0 9 8|1 0 9 8 7 6 5 4|7 6 5 4 3 2 1 0|4 3 2 1|1 0 9 8|
92053a5a1b3Sopenharmony_ci   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
92153a5a1b3Sopenharmony_ci   |     POS0      | POS1  | POS0  |     POS1      |     POS2      |
92253a5a1b3Sopenharmony_ci   |               |       |       |               |               |
92353a5a1b3Sopenharmony_ci   |0 0 0 0 0 0 0 0|0 0 0 0|1 1 0 0|1 1 0 0 0 0 0 0|0 0 0 0 0 0 0 0|
92453a5a1b3Sopenharmony_ci   |7 6 5 4 3 2 1 0|3 2 1 0|1 0 9 8|1 0 9 8 7 6 5 4|7 6 5 4 3 2 1 0|
92553a5a1b3Sopenharmony_ci   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
92653a5a1b3Sopenharmony_ci   | POS3  | POS2  |     POS3      | PSIG1 | PSIG0 | PSIG3 | PSIG2 |
92753a5a1b3Sopenharmony_ci   |       |       |               |       |       |       |       |
92853a5a1b3Sopenharmony_ci   |0 0 0 0|1 1 0 0|1 1 0 0 0 0 0 0|0 0 0 0|0 0 0 0|0 0 0 0|0 0 0 0|
92953a5a1b3Sopenharmony_ci   |3 2 1 0|1 0 9 8|1 0 9 8 7 6 5 4|3 2 1 0|3 2 1 0|3 2 1 0|3 2 1 0|
93053a5a1b3Sopenharmony_ci   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
93153a5a1b3Sopenharmony_ci
93253a5a1b3Sopenharmony_ci                  Figure 2: G.723 (5.3 kb/s) bit packing
93353a5a1b3Sopenharmony_ci
93453a5a1b3Sopenharmony_ci   The packing of G.723.1 SID (silence) frames, which are indicated by
93553a5a1b3Sopenharmony_ci   the header (HDR) bits having the pattern "1 0", is depicted in Fig.
93653a5a1b3Sopenharmony_ci   3.
93753a5a1b3Sopenharmony_ci
93853a5a1b3Sopenharmony_ci    0                   1                   2                   3
93953a5a1b3Sopenharmony_ci    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
94053a5a1b3Sopenharmony_ci   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
94153a5a1b3Sopenharmony_ci   |    LPC    |HDR|      LPC      |      LPC      |   GAIN    |LPC|
94253a5a1b3Sopenharmony_ci   |           |   |               |               |           |   |
94353a5a1b3Sopenharmony_ci   |0 0 0 0 0 0|1 0|1 1 1 1 0 0 0 0|2 2 1 1 1 1 1 1|0 0 0 0 0 0|2 2|
94453a5a1b3Sopenharmony_ci   |5 4 3 2 1 0|   |3 2 1 0 9 8 7 6|1 0 9 8 7 6 5 4|5 4 3 2 1 0|3 2|
94553a5a1b3Sopenharmony_ci   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
94653a5a1b3Sopenharmony_ci
94753a5a1b3Sopenharmony_ci                   Figure 3: G.723 SID mode bit packing
94853a5a1b3Sopenharmony_ci
94953a5a1b3Sopenharmony_ci
95053a5a1b3Sopenharmony_ci
95153a5a1b3Sopenharmony_ci
95253a5a1b3Sopenharmony_ci
95353a5a1b3Sopenharmony_ci
95453a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 17]
95553a5a1b3Sopenharmony_ci
95653a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
95753a5a1b3Sopenharmony_ci
95853a5a1b3Sopenharmony_ci
95953a5a1b3Sopenharmony_ci4.5.4  G726-40, G726-32, G726-24, and G726-16
96053a5a1b3Sopenharmony_ci
96153a5a1b3Sopenharmony_ci   ITU-T Recommendation G.726 describes, among others, the algorithm
96253a5a1b3Sopenharmony_ci   recommended for conversion of a single 64 kbit/s A-law or mu-law PCM
96353a5a1b3Sopenharmony_ci   channel encoded at 8,000 samples/sec to and from a 40, 32, 24, or 16
96453a5a1b3Sopenharmony_ci   kbit/s channel.  The conversion is applied to the PCM stream using an
96553a5a1b3Sopenharmony_ci   Adaptive Differential Pulse Code Modulation (ADPCM) transcoding
96653a5a1b3Sopenharmony_ci   technique.  The ADPCM representation consists of a series of
96753a5a1b3Sopenharmony_ci   codewords with a one-to-one correspondence to the samples in the PCM
96853a5a1b3Sopenharmony_ci   stream.  The G726 data rates of 40, 32, 24, and 16 kbit/s have
96953a5a1b3Sopenharmony_ci   codewords of 5, 4, 3, and 2 bits, respectively.
97053a5a1b3Sopenharmony_ci
97153a5a1b3Sopenharmony_ci   The 16 and 24 kbit/s encodings do not provide toll quality speech.
97253a5a1b3Sopenharmony_ci   They are designed for used in overloaded Digital Circuit
97353a5a1b3Sopenharmony_ci   Multiplication Equipment (DCME).  ITU-T G.726 recommends that the 16
97453a5a1b3Sopenharmony_ci   and 24 kbit/s encodings should be alternated with higher data rate
97553a5a1b3Sopenharmony_ci   encodings to provide an average sample size of between 3.5 and 3.7
97653a5a1b3Sopenharmony_ci   bits per sample.
97753a5a1b3Sopenharmony_ci
97853a5a1b3Sopenharmony_ci   The encodings of G.726 are here denoted as G726-40, G726-32, G726-24,
97953a5a1b3Sopenharmony_ci   and G726-16.  Prior to 1990, G721 described the 32 kbit/s ADPCM
98053a5a1b3Sopenharmony_ci   encoding, and G723 described the 40, 32, and 16 kbit/s encodings.
98153a5a1b3Sopenharmony_ci   Thus, G726-32 designates the same algorithm as G721 in RFC 1890.
98253a5a1b3Sopenharmony_ci
98353a5a1b3Sopenharmony_ci   A stream of G726 codewords contains no information on the encoding
98453a5a1b3Sopenharmony_ci   being used, therefore transitions between G726 encoding types are not
98553a5a1b3Sopenharmony_ci   permitted within a sequence of packed codewords.  Applications MUST
98653a5a1b3Sopenharmony_ci   determine the encoding type of packed codewords from the RTP payload
98753a5a1b3Sopenharmony_ci   identifier.
98853a5a1b3Sopenharmony_ci
98953a5a1b3Sopenharmony_ci   No payload-specific header information SHALL be included as part of
99053a5a1b3Sopenharmony_ci   the audio data.  A stream of G726 codewords MUST be packed into
99153a5a1b3Sopenharmony_ci   octets as follows:  the first codeword is placed into the first octet
99253a5a1b3Sopenharmony_ci   such that the least significant bit of the codeword aligns with the
99353a5a1b3Sopenharmony_ci   least significant bit in the octet, the second codeword is then
99453a5a1b3Sopenharmony_ci   packed so that its least significant bit coincides with the least
99553a5a1b3Sopenharmony_ci   significant unoccupied bit in the octet.  When a complete codeword
99653a5a1b3Sopenharmony_ci   cannot be placed into an octet, the bits overlapping the octet
99753a5a1b3Sopenharmony_ci   boundary are placed into the least significant bits of the next
99853a5a1b3Sopenharmony_ci   octet.  Packing MUST end with a completely packed final octet.  The
99953a5a1b3Sopenharmony_ci   number of codewords packed will therefore be a multiple of 8, 2, 8,
100053a5a1b3Sopenharmony_ci   and 4 for G726-40, G726-32, G726-24, and G726-16, respectively.  An
100153a5a1b3Sopenharmony_ci   example of the packing scheme for G726-32 codewords is as shown,
100253a5a1b3Sopenharmony_ci   where bit 7 is the least significant bit of the first octet, and bit
100353a5a1b3Sopenharmony_ci   A3 is the least significant bit of the first codeword:
100453a5a1b3Sopenharmony_ci
100553a5a1b3Sopenharmony_ci
100653a5a1b3Sopenharmony_ci
100753a5a1b3Sopenharmony_ci
100853a5a1b3Sopenharmony_ci
100953a5a1b3Sopenharmony_ci
101053a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 18]
101153a5a1b3Sopenharmony_ci
101253a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
101353a5a1b3Sopenharmony_ci
101453a5a1b3Sopenharmony_ci
101553a5a1b3Sopenharmony_ci          0                   1
101653a5a1b3Sopenharmony_ci          0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
101753a5a1b3Sopenharmony_ci         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
101853a5a1b3Sopenharmony_ci         |B B B B|A A A A|D D D D|C C C C| ...
101953a5a1b3Sopenharmony_ci         |0 1 2 3|0 1 2 3|0 1 2 3|0 1 2 3|
102053a5a1b3Sopenharmony_ci         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
102153a5a1b3Sopenharmony_ci
102253a5a1b3Sopenharmony_ci   An example of the packing scheme for G726-24 codewords follows, where
102353a5a1b3Sopenharmony_ci   again bit 7 is the least significant bit of the first octet, and bit
102453a5a1b3Sopenharmony_ci   A2 is the least significant bit of the first codeword:
102553a5a1b3Sopenharmony_ci
102653a5a1b3Sopenharmony_ci          0                   1                   2
102753a5a1b3Sopenharmony_ci          0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
102853a5a1b3Sopenharmony_ci         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
102953a5a1b3Sopenharmony_ci         |C C|B B B|A A A|F|E E E|D D D|C|H H H|G G G|F F| ...
103053a5a1b3Sopenharmony_ci         |1 2|0 1 2|0 1 2|2|0 1 2|0 1 2|0|0 1 2|0 1 2|0 1|
103153a5a1b3Sopenharmony_ci         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
103253a5a1b3Sopenharmony_ci
103353a5a1b3Sopenharmony_ci   Note that the "little-endian" direction in which samples are packed
103453a5a1b3Sopenharmony_ci   into octets in the G726-16, -24, -32 and -40 payload formats
103553a5a1b3Sopenharmony_ci   specified here is consistent with ITU-T Recommendation X.420, but is
103653a5a1b3Sopenharmony_ci   the opposite of what is specified in ITU-T Recommendation I.366.2
103753a5a1b3Sopenharmony_ci   Annex E for ATM AAL2 transport.  A second set of RTP payload formats
103853a5a1b3Sopenharmony_ci   matching the packetization of I.366.2 Annex E and identified by MIME
103953a5a1b3Sopenharmony_ci   subtypes AAL2-G726-16, -24, -32 and -40 will be specified in a
104053a5a1b3Sopenharmony_ci   separate document.
104153a5a1b3Sopenharmony_ci
104253a5a1b3Sopenharmony_ci4.5.5 G728
104353a5a1b3Sopenharmony_ci
104453a5a1b3Sopenharmony_ci   G728 is specified in ITU-T Recommendation G.728, "Coding of speech at
104553a5a1b3Sopenharmony_ci   16 kbit/s using low-delay code excited linear prediction".
104653a5a1b3Sopenharmony_ci
104753a5a1b3Sopenharmony_ci   A G.278 encoder translates 5 consecutive audio samples into a 10-bit
104853a5a1b3Sopenharmony_ci   codebook index, resulting in a bit rate of 16 kb/s for audio sampled
104953a5a1b3Sopenharmony_ci   at 8,000 samples per second.  The group of five consecutive samples
105053a5a1b3Sopenharmony_ci   is called a vector.  Four consecutive vectors, labeled V1 to V4
105153a5a1b3Sopenharmony_ci   (where V1 is to be played first by the receiver), build one G.728
105253a5a1b3Sopenharmony_ci   frame.  The four vectors of 40 bits are packed into 5 octets, labeled
105353a5a1b3Sopenharmony_ci   B1 through B5.  B1 SHALL be placed first in the RTP packet.
105453a5a1b3Sopenharmony_ci
105553a5a1b3Sopenharmony_ci   Referring to the figure below, the principle for bit order is
105653a5a1b3Sopenharmony_ci   "maintenance of bit significance".  Bits from an older vector are
105753a5a1b3Sopenharmony_ci   more significant than bits from newer vectors.  The MSB of the frame
105853a5a1b3Sopenharmony_ci   goes to the MSB of B1 and the LSB of the frame goes to LSB of B5.
105953a5a1b3Sopenharmony_ci
106053a5a1b3Sopenharmony_ci
106153a5a1b3Sopenharmony_ci
106253a5a1b3Sopenharmony_ci
106353a5a1b3Sopenharmony_ci
106453a5a1b3Sopenharmony_ci
106553a5a1b3Sopenharmony_ci
106653a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 19]
106753a5a1b3Sopenharmony_ci
106853a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
106953a5a1b3Sopenharmony_ci
107053a5a1b3Sopenharmony_ci
107153a5a1b3Sopenharmony_ci                   1         2         3        3
107253a5a1b3Sopenharmony_ci         0         0         0         0        9
107353a5a1b3Sopenharmony_ci         ++++++++++++++++++++++++++++++++++++++++
107453a5a1b3Sopenharmony_ci         <---V1---><---V2---><---V3---><---V4---> vectors
107553a5a1b3Sopenharmony_ci         <--B1--><--B2--><--B3--><--B4--><--B5--> octets
107653a5a1b3Sopenharmony_ci         <------------- frame 1 ---------------->
107753a5a1b3Sopenharmony_ci
107853a5a1b3Sopenharmony_ci   In particular, B1 contains the eight most significant bits of V1,
107953a5a1b3Sopenharmony_ci   with the MSB of V1 being the MSB of B1.  B2 contains the two least
108053a5a1b3Sopenharmony_ci   significant bits of V1, the more significant of the two in its MSB,
108153a5a1b3Sopenharmony_ci   and the six most significant bits of V2.  B1 SHALL be placed first in
108253a5a1b3Sopenharmony_ci   the RTP packet and B5 last.
108353a5a1b3Sopenharmony_ci
108453a5a1b3Sopenharmony_ci4.5.6 G729
108553a5a1b3Sopenharmony_ci
108653a5a1b3Sopenharmony_ci   G729 is specified in ITU-T Recommendation G.729, "Coding of speech at
108753a5a1b3Sopenharmony_ci   8 kbit/s using conjugate structure-algebraic code excited linear
108853a5a1b3Sopenharmony_ci   prediction (CS-ACELP)".  A reduced-complexity version of the G.729
108953a5a1b3Sopenharmony_ci   algorithm is specified in Annex A to Rec. G.729.  The speech coding
109053a5a1b3Sopenharmony_ci   algorithms in the main body of G.729 and in G.729 Annex A are fully
109153a5a1b3Sopenharmony_ci   interoperable with each other, so there is no need to further
109253a5a1b3Sopenharmony_ci   distinguish between them.  An implementation that signals or accepts
109353a5a1b3Sopenharmony_ci   use of G729 payload format may implement either G.729 or G.729A
109453a5a1b3Sopenharmony_ci   unless restricted by additional signaling specified elsewhere related
109553a5a1b3Sopenharmony_ci   specifically to the encoding rather than the payload format.  The
109653a5a1b3Sopenharmony_ci   G.729 and G.729 Annex A codecs were optimized to represent speech
109753a5a1b3Sopenharmony_ci   with high quality, where G.729 Annex A trades some speech quality for
109853a5a1b3Sopenharmony_ci   an approximate 50% complexity reduction [10].  See the next Section
109953a5a1b3Sopenharmony_ci   (4.5.7) for other data rates added in later G.729 Annexes.  For all
110053a5a1b3Sopenharmony_ci   data rates, the sampling frequency (and RTP timestamp clock rate) is
110153a5a1b3Sopenharmony_ci   8,000 Hz.
110253a5a1b3Sopenharmony_ci
110353a5a1b3Sopenharmony_ci   A voice activity detector (VAD) and comfort noise generator (CNG)
110453a5a1b3Sopenharmony_ci   algorithm in Annex B of G.729 is RECOMMENDED for digital simultaneous
110553a5a1b3Sopenharmony_ci   voice and data applications and can be used in conjunction with G.729
110653a5a1b3Sopenharmony_ci   or G.729 Annex A.  A G.729 or G.729 Annex A frame contains 10 octets,
110753a5a1b3Sopenharmony_ci   while the G.729 Annex B comfort noise frame occupies 2 octets.
110853a5a1b3Sopenharmony_ci   Receivers MUST accept comfort noise frames if restriction of their
110953a5a1b3Sopenharmony_ci   use has not been signaled.  The MIME registration for G729 in RFC
111053a5a1b3Sopenharmony_ci   3555 [7] specifies a parameter that MAY be used with MIME or SDP to
111153a5a1b3Sopenharmony_ci   restrict the use of comfort noise frames.
111253a5a1b3Sopenharmony_ci
111353a5a1b3Sopenharmony_ci   A G729 RTP packet may consist of zero or more G.729 or G.729 Annex A
111453a5a1b3Sopenharmony_ci   frames, followed by zero or one G.729 Annex B frames.  The presence
111553a5a1b3Sopenharmony_ci   of a comfort noise frame can be deduced from the length of the RTP
111653a5a1b3Sopenharmony_ci   payload.  The default packetization interval is 20 ms (two frames),
111753a5a1b3Sopenharmony_ci   but in some situations it may be desirable to send 10 ms packets.  An
111853a5a1b3Sopenharmony_ci
111953a5a1b3Sopenharmony_ci
112053a5a1b3Sopenharmony_ci
112153a5a1b3Sopenharmony_ci
112253a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 20]
112353a5a1b3Sopenharmony_ci
112453a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
112553a5a1b3Sopenharmony_ci
112653a5a1b3Sopenharmony_ci
112753a5a1b3Sopenharmony_ci   example would be a transition from speech to comfort noise in the
112853a5a1b3Sopenharmony_ci   first 10 ms of the packet.  For some applications, a longer
112953a5a1b3Sopenharmony_ci   packetization interval may be required to reduce the packet rate.
113053a5a1b3Sopenharmony_ci
113153a5a1b3Sopenharmony_ci       0                   1                   2                   3
113253a5a1b3Sopenharmony_ci       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
113353a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
113453a5a1b3Sopenharmony_ci      |L|      L1     |    L2   |    L3   |       P1      |P|    C1   |
113553a5a1b3Sopenharmony_ci      |0|             |         |         |               |0|         |
113653a5a1b3Sopenharmony_ci      | |0 1 2 3 4 5 6|0 1 2 3 4|0 1 2 3 4|0 1 2 3 4 5 6 7| |0 1 2 3 4|
113753a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
113853a5a1b3Sopenharmony_ci      |       C1      |  S1   | GA1 |  GB1  |    P2   |      C2       |
113953a5a1b3Sopenharmony_ci      |          1 1 1|       |     |       |         |               |
114053a5a1b3Sopenharmony_ci      |5 6 7 8 9 0 1 2|0 1 2 3|0 1 2|0 1 2 3|0 1 2 3 4|0 1 2 3 4 5 6 7|
114153a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
114253a5a1b3Sopenharmony_ci      |   C2    |  S2   | GA2 |  GB2  |
114353a5a1b3Sopenharmony_ci      |    1 1 1|       |     |       |
114453a5a1b3Sopenharmony_ci      |8 9 0 1 2|0 1 2 3|0 1 2|0 1 2 3|
114553a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
114653a5a1b3Sopenharmony_ci
114753a5a1b3Sopenharmony_ci                    Figure 4: G.729 and G.729A bit packing
114853a5a1b3Sopenharmony_ci
114953a5a1b3Sopenharmony_ci   The transmitted parameters of a G.729/G.729A 10-ms frame, consisting
115053a5a1b3Sopenharmony_ci   of 80 bits, are defined in Recommendation G.729, Table 8/G.729.  The
115153a5a1b3Sopenharmony_ci   mapping of the these parameters is given below in Fig. 4.  The
115253a5a1b3Sopenharmony_ci   diagrams show the bit packing in "network byte order", also known as
115353a5a1b3Sopenharmony_ci   big-endian order.  The bits of each 32-bit word are numbered 0 to 31,
115453a5a1b3Sopenharmony_ci   with the most significant bit on the left and numbered 0.  The octets
115553a5a1b3Sopenharmony_ci   (bytes) of each word are transmitted most significant octet first.
115653a5a1b3Sopenharmony_ci   The bits of each data field are numbered in the order as produced by
115753a5a1b3Sopenharmony_ci   the G.729 C code reference implementation.
115853a5a1b3Sopenharmony_ci
115953a5a1b3Sopenharmony_ci   The packing of the G.729 Annex B comfort noise frame is shown in Fig.
116053a5a1b3Sopenharmony_ci   5.
116153a5a1b3Sopenharmony_ci
116253a5a1b3Sopenharmony_ci          0                   1
116353a5a1b3Sopenharmony_ci          0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
116453a5a1b3Sopenharmony_ci         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
116553a5a1b3Sopenharmony_ci         |L|  LSF1   |  LSF2 |   GAIN  |R|
116653a5a1b3Sopenharmony_ci         |S|         |       |         |E|
116753a5a1b3Sopenharmony_ci         |F|         |       |         |S|
116853a5a1b3Sopenharmony_ci         |0|0 1 2 3 4|0 1 2 3|0 1 2 3 4|V|    RESV = Reserved (zero)
116953a5a1b3Sopenharmony_ci         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
117053a5a1b3Sopenharmony_ci
117153a5a1b3Sopenharmony_ci                       Figure 5: G.729 Annex B bit packing
117253a5a1b3Sopenharmony_ci
117353a5a1b3Sopenharmony_ci
117453a5a1b3Sopenharmony_ci
117553a5a1b3Sopenharmony_ci
117653a5a1b3Sopenharmony_ci
117753a5a1b3Sopenharmony_ci
117853a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 21]
117953a5a1b3Sopenharmony_ci
118053a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
118153a5a1b3Sopenharmony_ci
118253a5a1b3Sopenharmony_ci
118353a5a1b3Sopenharmony_ci4.5.7 G729D and G729E
118453a5a1b3Sopenharmony_ci
118553a5a1b3Sopenharmony_ci   Annexes D and E to ITU-T Recommendation G.729 provide additional data
118653a5a1b3Sopenharmony_ci   rates.  Because the data rate is not signaled in the bitstream, the
118753a5a1b3Sopenharmony_ci   different data rates are given distinct RTP encoding names which are
118853a5a1b3Sopenharmony_ci   mapped to distinct payload type numbers.  G729D indicates a 6.4
118953a5a1b3Sopenharmony_ci   kbit/s coding mode (G.729 Annex D, for momentary reduction in channel
119053a5a1b3Sopenharmony_ci   capacity), while G729E indicates an 11.8 kbit/s mode (G.729 Annex E,
119153a5a1b3Sopenharmony_ci   for improved performance with a wide range of narrow-band input
119253a5a1b3Sopenharmony_ci   signals, e.g., music and background noise).  Annex E has two
119353a5a1b3Sopenharmony_ci   operating modes, backward adaptive and forward adaptive, which are
119453a5a1b3Sopenharmony_ci   signaled by the first two bits in each frame (the most significant
119553a5a1b3Sopenharmony_ci   two bits of the first octet).
119653a5a1b3Sopenharmony_ci
119753a5a1b3Sopenharmony_ci   The voice activity detector (VAD) and comfort noise generator (CNG)
119853a5a1b3Sopenharmony_ci   algorithm specified in Annex B of G.729 may be used with Annex D and
119953a5a1b3Sopenharmony_ci   Annex E frames in addition to G.729 and G.729 Annex A frames.  The
120053a5a1b3Sopenharmony_ci   algorithm details for the operation of Annexes D and E with the Annex
120153a5a1b3Sopenharmony_ci   B CNG are specified in G.729 Annexes F and G.  Note that Annexes F
120253a5a1b3Sopenharmony_ci   and G do not introduce any new encodings.  Receivers MUST accept
120353a5a1b3Sopenharmony_ci   comfort noise frames if restriction of their use has not been
120453a5a1b3Sopenharmony_ci   signaled.  The MIME registrations for G729D and G729E in RFC 3555 [7]
120553a5a1b3Sopenharmony_ci   specify a parameter that MAY be used with MIME or SDP to restrict the
120653a5a1b3Sopenharmony_ci   use of comfort noise frames.
120753a5a1b3Sopenharmony_ci
120853a5a1b3Sopenharmony_ci   For G729D, an RTP packet may consist of zero or more G.729 Annex D
120953a5a1b3Sopenharmony_ci   frames, followed by zero or one G.729 Annex B frame.  Similarly, for
121053a5a1b3Sopenharmony_ci   G729E, an RTP packet may consist of zero or more G.729 Annex E
121153a5a1b3Sopenharmony_ci   frames, followed by zero or one G.729 Annex B frame.  The presence of
121253a5a1b3Sopenharmony_ci   a comfort noise frame can be deduced from the length of the RTP
121353a5a1b3Sopenharmony_ci   payload.
121453a5a1b3Sopenharmony_ci
121553a5a1b3Sopenharmony_ci   A single RTP packet must contain frames of only one data rate,
121653a5a1b3Sopenharmony_ci   optionally followed by one comfort noise frame.  The data rate may be
121753a5a1b3Sopenharmony_ci   changed from packet to packet by changing the payload type number.
121853a5a1b3Sopenharmony_ci   G.729 Annexes D, E and H describe what the encoding and decoding
121953a5a1b3Sopenharmony_ci   algorithms must do to accommodate a change in data rate.
122053a5a1b3Sopenharmony_ci
122153a5a1b3Sopenharmony_ci   For G729D, the bits of a G.729 Annex D frame are formatted as shown
122253a5a1b3Sopenharmony_ci   below in Fig. 6 (cf.  Table D.1/G.729).  The frame length is 64 bits.
122353a5a1b3Sopenharmony_ci
122453a5a1b3Sopenharmony_ci
122553a5a1b3Sopenharmony_ci
122653a5a1b3Sopenharmony_ci
122753a5a1b3Sopenharmony_ci
122853a5a1b3Sopenharmony_ci
122953a5a1b3Sopenharmony_ci
123053a5a1b3Sopenharmony_ci
123153a5a1b3Sopenharmony_ci
123253a5a1b3Sopenharmony_ci
123353a5a1b3Sopenharmony_ci
123453a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 22]
123553a5a1b3Sopenharmony_ci
123653a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
123753a5a1b3Sopenharmony_ci
123853a5a1b3Sopenharmony_ci
123953a5a1b3Sopenharmony_ci       0                   1                   2                   3
124053a5a1b3Sopenharmony_ci       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
124153a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
124253a5a1b3Sopenharmony_ci      |L|      L1     |    L2   |    L3   |        P1     |     C1    |
124353a5a1b3Sopenharmony_ci      |0|             |         |         |               |           |
124453a5a1b3Sopenharmony_ci      | |0 1 2 3 4 5 6|0 1 2 3 4|0 1 2 3 4|0 1 2 3 4 5 6 7|0 1 2 3 4 5|
124553a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
124653a5a1b3Sopenharmony_ci      | C1  |S1 | GA1 | GB1 |  P2   |        C2       |S2 | GA2 | GB2 |
124753a5a1b3Sopenharmony_ci      |     |   |     |     |       |                 |   |     |     |
124853a5a1b3Sopenharmony_ci      |6 7 8|0 1|0 1 2|0 1 2|0 1 2 3|0 1 2 3 4 5 6 7 8|0 1|0 1 2|0 1 2|
124953a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
125053a5a1b3Sopenharmony_ci
125153a5a1b3Sopenharmony_ci                     Figure 6: G.729 Annex D bit packing
125253a5a1b3Sopenharmony_ci
125353a5a1b3Sopenharmony_ci   The net bit rate for the G.729 Annex E algorithm is 11.8 kbit/s and a
125453a5a1b3Sopenharmony_ci   total of 118 bits are used.  Two bits are appended as "don't care"
125553a5a1b3Sopenharmony_ci   bits to complete an integer number of octets for the frame.  For
125653a5a1b3Sopenharmony_ci   G729E, the bits of a data frame are formatted as shown in the next
125753a5a1b3Sopenharmony_ci   two diagrams (cf. Table E.1/G.729).  The fields for the G729E forward
125853a5a1b3Sopenharmony_ci   adaptive mode are packed as shown in Fig. 7.
125953a5a1b3Sopenharmony_ci
126053a5a1b3Sopenharmony_ci       0                   1                   2                   3
126153a5a1b3Sopenharmony_ci       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
126253a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
126353a5a1b3Sopenharmony_ci      |0 0|L|      L1     |    L2   |    L3   |        P1     |P| C0_1|
126453a5a1b3Sopenharmony_ci      |   |0|             |         |         |               |0|     |
126553a5a1b3Sopenharmony_ci      |   | |0 1 2 3 4 5 6|0 1 2 3 4|0 1 2 3 4|0 1 2 3 4 5 6 7| |0 1 2|
126653a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
126753a5a1b3Sopenharmony_ci      |       |   C1_1      |     C2_1    |   C3_1      |    C4_1     |
126853a5a1b3Sopenharmony_ci      |       |             |             |             |             |
126953a5a1b3Sopenharmony_ci      |3 4 5 6|0 1 2 3 4 5 6|0 1 2 3 4 5 6|0 1 2 3 4 5 6|0 1 2 3 4 5 6|
127053a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
127153a5a1b3Sopenharmony_ci      | GA1 |  GB1  |    P2   |   C0_2      |     C1_2    |   C2_2    |
127253a5a1b3Sopenharmony_ci      |     |       |         |             |             |           |
127353a5a1b3Sopenharmony_ci      |0 1 2|0 1 2 3|0 1 2 3 4|0 1 2 3 4 5 6|0 1 2 3 4 5 6|0 1 2 3 4 5|
127453a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
127553a5a1b3Sopenharmony_ci      | |    C3_2     |     C4_2    | GA2 | GB2   |DC |
127653a5a1b3Sopenharmony_ci      | |             |             |     |       |   |
127753a5a1b3Sopenharmony_ci      |6|0 1 2 3 4 5 6|0 1 2 3 4 5 6|0 1 2|0 1 2 3|0 1|
127853a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
127953a5a1b3Sopenharmony_ci
128053a5a1b3Sopenharmony_ci         Figure 7: G.729 Annex E (forward adaptive mode) bit packing
128153a5a1b3Sopenharmony_ci
128253a5a1b3Sopenharmony_ci   The fields for the G729E backward adaptive mode are packed as shown
128353a5a1b3Sopenharmony_ci   in Fig. 8.
128453a5a1b3Sopenharmony_ci
128553a5a1b3Sopenharmony_ci
128653a5a1b3Sopenharmony_ci
128753a5a1b3Sopenharmony_ci
128853a5a1b3Sopenharmony_ci
128953a5a1b3Sopenharmony_ci
129053a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 23]
129153a5a1b3Sopenharmony_ci
129253a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
129353a5a1b3Sopenharmony_ci
129453a5a1b3Sopenharmony_ci
129553a5a1b3Sopenharmony_ci       0                   1                   2                   3
129653a5a1b3Sopenharmony_ci       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
129753a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
129853a5a1b3Sopenharmony_ci      |1 1|       P1      |P|       C0_1              |     C1_1      |
129953a5a1b3Sopenharmony_ci      |   |               |0|                    1 1 1|               |
130053a5a1b3Sopenharmony_ci      |   |0 1 2 3 4 5 6 7|0|0 1 2 3 4 5 6 7 8 9 0 1 2|0 1 2 3 4 5 6 7|
130153a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
130253a5a1b3Sopenharmony_ci      |   |  C2_1       | C3_1        | C4_1        |GA1  | GB1   |P2 |
130353a5a1b3Sopenharmony_ci      |   |             |             |             |     |       |   |
130453a5a1b3Sopenharmony_ci      |8 9|0 1 2 3 4 5 6|0 1 2 3 4 5 6|0 1 2 3 4 5 6|0 1 2|0 1 2 3|0 1|
130553a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
130653a5a1b3Sopenharmony_ci      |     |          C0_2           |       C1_2        |    C2_2   |
130753a5a1b3Sopenharmony_ci      |     |                    1 1 1|                   |           |
130853a5a1b3Sopenharmony_ci      |2 3 4|0 1 2 3 4 5 6 7 8 9 0 1 2|0 1 2 3 4 5 6 7 8 9|0 1 2 3 4 5|
130953a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
131053a5a1b3Sopenharmony_ci      | |    C3_2     |     C4_2    | GA2 | GB2   |DC |
131153a5a1b3Sopenharmony_ci      | |             |             |     |       |   |
131253a5a1b3Sopenharmony_ci      |6|0 1 2 3 4 5 6|0 1 2 3 4 5 6|0 1 2|0 1 2 3|0 1|
131353a5a1b3Sopenharmony_ci      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
131453a5a1b3Sopenharmony_ci
131553a5a1b3Sopenharmony_ci         Figure 8: G.729 Annex E (backward adaptive mode) bit packing
131653a5a1b3Sopenharmony_ci
131753a5a1b3Sopenharmony_ci4.5.8 GSM
131853a5a1b3Sopenharmony_ci
131953a5a1b3Sopenharmony_ci   GSM (Group Speciale Mobile) denotes the European GSM 06.10 standard
132053a5a1b3Sopenharmony_ci   for full-rate speech transcoding, ETS 300 961, which is based on
132153a5a1b3Sopenharmony_ci   RPE/LTP (residual pulse excitation/long term prediction) coding at a
132253a5a1b3Sopenharmony_ci   rate of 13 kb/s [11,12,13].  The text of the standard can be obtained
132353a5a1b3Sopenharmony_ci   from:
132453a5a1b3Sopenharmony_ci
132553a5a1b3Sopenharmony_ci   ETSI (European Telecommunications Standards Institute)
132653a5a1b3Sopenharmony_ci   ETSI Secretariat: B.P.152
132753a5a1b3Sopenharmony_ci   F-06561 Valbonne Cedex
132853a5a1b3Sopenharmony_ci   France
132953a5a1b3Sopenharmony_ci   Phone: +33 92 94 42 00
133053a5a1b3Sopenharmony_ci   Fax:   +33 93 65 47 16
133153a5a1b3Sopenharmony_ci
133253a5a1b3Sopenharmony_ci   Blocks of 160 audio samples are compressed into 33 octets, for an
133353a5a1b3Sopenharmony_ci   effective data rate of 13,200 b/s.
133453a5a1b3Sopenharmony_ci
133553a5a1b3Sopenharmony_ci4.5.8.1  General Packaging Issues
133653a5a1b3Sopenharmony_ci
133753a5a1b3Sopenharmony_ci   The GSM standard (ETS 300 961) specifies the bit stream produced by
133853a5a1b3Sopenharmony_ci   the codec, but does not specify how these bits should be packed for
133953a5a1b3Sopenharmony_ci   transmission.  The packetization specified here has subsequently been
134053a5a1b3Sopenharmony_ci   adopted in ETSI Technical Specification TS 101 318.  Some software
134153a5a1b3Sopenharmony_ci   implementations of the GSM codec use a different packing than that
134253a5a1b3Sopenharmony_ci   specified here.
134353a5a1b3Sopenharmony_ci
134453a5a1b3Sopenharmony_ci
134553a5a1b3Sopenharmony_ci
134653a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 24]
134753a5a1b3Sopenharmony_ci
134853a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
134953a5a1b3Sopenharmony_ci
135053a5a1b3Sopenharmony_ci
135153a5a1b3Sopenharmony_ci               field  field name  bits  field  field name  bits
135253a5a1b3Sopenharmony_ci               ________________________________________________
135353a5a1b3Sopenharmony_ci               1      LARc[0]     6     39     xmc[22]     3
135453a5a1b3Sopenharmony_ci               2      LARc[1]     6     40     xmc[23]     3
135553a5a1b3Sopenharmony_ci               3      LARc[2]     5     41     xmc[24]     3
135653a5a1b3Sopenharmony_ci               4      LARc[3]     5     42     xmc[25]     3
135753a5a1b3Sopenharmony_ci               5      LARc[4]     4     43     Nc[2]       7
135853a5a1b3Sopenharmony_ci               6      LARc[5]     4     44     bc[2]       2
135953a5a1b3Sopenharmony_ci               7      LARc[6]     3     45     Mc[2]       2
136053a5a1b3Sopenharmony_ci               8      LARc[7]     3     46     xmaxc[2]    6
136153a5a1b3Sopenharmony_ci               9      Nc[0]       7     47     xmc[26]     3
136253a5a1b3Sopenharmony_ci               10     bc[0]       2     48     xmc[27]     3
136353a5a1b3Sopenharmony_ci               11     Mc[0]       2     49     xmc[28]     3
136453a5a1b3Sopenharmony_ci               12     xmaxc[0]    6     50     xmc[29]     3
136553a5a1b3Sopenharmony_ci               13     xmc[0]      3     51     xmc[30]     3
136653a5a1b3Sopenharmony_ci               14     xmc[1]      3     52     xmc[31]     3
136753a5a1b3Sopenharmony_ci               15     xmc[2]      3     53     xmc[32]     3
136853a5a1b3Sopenharmony_ci               16     xmc[3]      3     54     xmc[33]     3
136953a5a1b3Sopenharmony_ci               17     xmc[4]      3     55     xmc[34]     3
137053a5a1b3Sopenharmony_ci               18     xmc[5]      3     56     xmc[35]     3
137153a5a1b3Sopenharmony_ci               19     xmc[6]      3     57     xmc[36]     3
137253a5a1b3Sopenharmony_ci               20     xmc[7]      3     58     xmc[37]     3
137353a5a1b3Sopenharmony_ci               21     xmc[8]      3     59     xmc[38]     3
137453a5a1b3Sopenharmony_ci               22     xmc[9]      3     60     Nc[3]       7
137553a5a1b3Sopenharmony_ci               23     xmc[10]     3     61     bc[3]       2
137653a5a1b3Sopenharmony_ci               24     xmc[11]     3     62     Mc[3]       2
137753a5a1b3Sopenharmony_ci               25     xmc[12]     3     63     xmaxc[3]    6
137853a5a1b3Sopenharmony_ci               26     Nc[1]       7     64     xmc[39]     3
137953a5a1b3Sopenharmony_ci               27     bc[1]       2     65     xmc[40]     3
138053a5a1b3Sopenharmony_ci               28     Mc[1]       2     66     xmc[41]     3
138153a5a1b3Sopenharmony_ci               29     xmaxc[1]    6     67     xmc[42]     3
138253a5a1b3Sopenharmony_ci               30     xmc[13]     3     68     xmc[43]     3
138353a5a1b3Sopenharmony_ci               31     xmc[14]     3     69     xmc[44]     3
138453a5a1b3Sopenharmony_ci               32     xmc[15]     3     70     xmc[45]     3
138553a5a1b3Sopenharmony_ci               33     xmc[16]     3     71     xmc[46]     3
138653a5a1b3Sopenharmony_ci               34     xmc[17]     3     72     xmc[47]     3
138753a5a1b3Sopenharmony_ci               35     xmc[18]     3     73     xmc[48]     3
138853a5a1b3Sopenharmony_ci               36     xmc[19]     3     74     xmc[49]     3
138953a5a1b3Sopenharmony_ci               37     xmc[20]     3     75     xmc[50]     3
139053a5a1b3Sopenharmony_ci               38     xmc[21]     3     76     xmc[51]     3
139153a5a1b3Sopenharmony_ci
139253a5a1b3Sopenharmony_ci                      Table 2: Ordering of GSM variables
139353a5a1b3Sopenharmony_ci
139453a5a1b3Sopenharmony_ci
139553a5a1b3Sopenharmony_ci
139653a5a1b3Sopenharmony_ci
139753a5a1b3Sopenharmony_ci
139853a5a1b3Sopenharmony_ci
139953a5a1b3Sopenharmony_ci
140053a5a1b3Sopenharmony_ci
140153a5a1b3Sopenharmony_ci
140253a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 25]
140353a5a1b3Sopenharmony_ci
140453a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
140553a5a1b3Sopenharmony_ci
140653a5a1b3Sopenharmony_ci
140753a5a1b3Sopenharmony_ci   Octet  Bit 0   Bit 1   Bit 2   Bit 3   Bit 4   Bit 5   Bit 6   Bit 7
140853a5a1b3Sopenharmony_ci   _____________________________________________________________________
140953a5a1b3Sopenharmony_ci       0    1       1       0       1    LARc0.0 LARc0.1 LARc0.2 LARc0.3
141053a5a1b3Sopenharmony_ci       1 LARc0.4 LARc0.5 LARc1.0 LARc1.1 LARc1.2 LARc1.3 LARc1.4 LARc1.5
141153a5a1b3Sopenharmony_ci       2 LARc2.0 LARc2.1 LARc2.2 LARc2.3 LARc2.4 LARc3.0 LARc3.1 LARc3.2
141253a5a1b3Sopenharmony_ci       3 LARc3.3 LARc3.4 LARc4.0 LARc4.1 LARc4.2 LARc4.3 LARc5.0 LARc5.1
141353a5a1b3Sopenharmony_ci       4 LARc5.2 LARc5.3 LARc6.0 LARc6.1 LARc6.2 LARc7.0 LARc7.1 LARc7.2
141453a5a1b3Sopenharmony_ci       5  Nc0.0   Nc0.1   Nc0.2   Nc0.3   Nc0.4   Nc0.5   Nc0.6  bc0.0
141553a5a1b3Sopenharmony_ci       6  bc0.1   Mc0.0   Mc0.1  xmaxc00 xmaxc01 xmaxc02 xmaxc03 xmaxc04
141653a5a1b3Sopenharmony_ci       7 xmaxc05 xmc0.0  xmc0.1  xmc0.2  xmc1.0  xmc1.1  xmc1.2  xmc2.0
141753a5a1b3Sopenharmony_ci       8 xmc2.1  xmc2.2  xmc3.0  xmc3.1  xmc3.2  xmc4.0  xmc4.1  xmc4.2
141853a5a1b3Sopenharmony_ci       9 xmc5.0  xmc5.1  xmc5.2  xmc6.0  xmc6.1  xmc6.2  xmc7.0  xmc7.1
141953a5a1b3Sopenharmony_ci      10 xmc7.2  xmc8.0  xmc8.1  xmc8.2  xmc9.0  xmc9.1  xmc9.2  xmc10.0
142053a5a1b3Sopenharmony_ci      11 xmc10.1 xmc10.2 xmc11.0 xmc11.1 xmc11.2 xmc12.0 xmc12.1 xcm12.2
142153a5a1b3Sopenharmony_ci      12  Nc1.0   Nc1.1   Nc1.2   Nc1.3   Nc1.4   Nc1.5   Nc1.6   bc1.0
142253a5a1b3Sopenharmony_ci      13  bc1.1   Mc1.0   Mc1.1  xmaxc10 xmaxc11 xmaxc12 xmaxc13 xmaxc14
142353a5a1b3Sopenharmony_ci      14 xmax15  xmc13.0 xmc13.1 xmc13.2 xmc14.0 xmc14.1 xmc14.2 xmc15.0
142453a5a1b3Sopenharmony_ci      15 xmc15.1 xmc15.2 xmc16.0 xmc16.1 xmc16.2 xmc17.0 xmc17.1 xmc17.2
142553a5a1b3Sopenharmony_ci      16 xmc18.0 xmc18.1 xmc18.2 xmc19.0 xmc19.1 xmc19.2 xmc20.0 xmc20.1
142653a5a1b3Sopenharmony_ci      17 xmc20.2 xmc21.0 xmc21.1 xmc21.2 xmc22.0 xmc22.1 xmc22.2 xmc23.0
142753a5a1b3Sopenharmony_ci      18 xmc23.1 xmc23.2 xmc24.0 xmc24.1 xmc24.2 xmc25.0 xmc25.1 xmc25.2
142853a5a1b3Sopenharmony_ci      19  Nc2.0   Nc2.1   Nc2.2   Nc2.3   Nc2.4   Nc2.5   Nc2.6   bc2.0
142953a5a1b3Sopenharmony_ci      20  bc2.1   Mc2.0   Mc2.1  xmaxc20 xmaxc21 xmaxc22 xmaxc23 xmaxc24
143053a5a1b3Sopenharmony_ci      21 xmaxc25 xmc26.0 xmc26.1 xmc26.2 xmc27.0 xmc27.1 xmc27.2 xmc28.0
143153a5a1b3Sopenharmony_ci      22 xmc28.1 xmc28.2 xmc29.0 xmc29.1 xmc29.2 xmc30.0 xmc30.1 xmc30.2
143253a5a1b3Sopenharmony_ci      23 xmc31.0 xmc31.1 xmc31.2 xmc32.0 xmc32.1 xmc32.2 xmc33.0 xmc33.1
143353a5a1b3Sopenharmony_ci      24 xmc33.2 xmc34.0 xmc34.1 xmc34.2 xmc35.0 xmc35.1 xmc35.2 xmc36.0
143453a5a1b3Sopenharmony_ci      25 Xmc36.1 xmc36.2 xmc37.0 xmc37.1 xmc37.2 xmc38.0 xmc38.1 xmc38.2
143553a5a1b3Sopenharmony_ci      26  Nc3.0   Nc3.1   Nc3.2   Nc3.3   Nc3.4   Nc3.5   Nc3.6   bc3.0
143653a5a1b3Sopenharmony_ci      27  bc3.1   Mc3.0   Mc3.1  xmaxc30 xmaxc31 xmaxc32 xmaxc33 xmaxc34
143753a5a1b3Sopenharmony_ci      28 xmaxc35 xmc39.0 xmc39.1 xmc39.2 xmc40.0 xmc40.1 xmc40.2 xmc41.0
143853a5a1b3Sopenharmony_ci      29 xmc41.1 xmc41.2 xmc42.0 xmc42.1 xmc42.2 xmc43.0 xmc43.1 xmc43.2
143953a5a1b3Sopenharmony_ci      30 xmc44.0 xmc44.1 xmc44.2 xmc45.0 xmc45.1 xmc45.2 xmc46.0 xmc46.1
144053a5a1b3Sopenharmony_ci      31 xmc46.2 xmc47.0 xmc47.1 xmc47.2 xmc48.0 xmc48.1 xmc48.2 xmc49.0
144153a5a1b3Sopenharmony_ci      32 xmc49.1 xmc49.2 xmc50.0 xmc50.1 xmc50.2 xmc51.0 xmc51.1 xmc51.2
144253a5a1b3Sopenharmony_ci
144353a5a1b3Sopenharmony_ci                        Table 3: GSM payload format
144453a5a1b3Sopenharmony_ci
144553a5a1b3Sopenharmony_ci   In the GSM packing used by RTP, the bits SHALL be packed beginning
144653a5a1b3Sopenharmony_ci   from the most significant bit.  Every 160 sample GSM frame is coded
144753a5a1b3Sopenharmony_ci   into one 33 octet (264 bit) buffer.  Every such buffer begins with a
144853a5a1b3Sopenharmony_ci   4 bit signature (0xD), followed by the MSB encoding of the fields of
144953a5a1b3Sopenharmony_ci   the frame.  The first octet thus contains 1101 in the 4 most
145053a5a1b3Sopenharmony_ci   significant bits (0-3) and the 4 most significant bits of F1 (0-3) in
145153a5a1b3Sopenharmony_ci   the 4 least significant bits (4-7).  The second octet contains the 2
145253a5a1b3Sopenharmony_ci   least significant bits of F1 in bits 0-1, and F2 in bits 2-7, and so
145353a5a1b3Sopenharmony_ci   on.  The order of the fields in the frame is described in Table 2.
145453a5a1b3Sopenharmony_ci
145553a5a1b3Sopenharmony_ci
145653a5a1b3Sopenharmony_ci
145753a5a1b3Sopenharmony_ci
145853a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 26]
145953a5a1b3Sopenharmony_ci
146053a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
146153a5a1b3Sopenharmony_ci
146253a5a1b3Sopenharmony_ci
146353a5a1b3Sopenharmony_ci4.5.8.2   GSM Variable Names and Numbers
146453a5a1b3Sopenharmony_ci
146553a5a1b3Sopenharmony_ci   In the RTP encoding we have the bit pattern described in Table 3,
146653a5a1b3Sopenharmony_ci   where F.i signifies the ith bit of the field F, bit 0 is the most
146753a5a1b3Sopenharmony_ci   significant bit, and the bits of every octet are numbered from 0 to 7
146853a5a1b3Sopenharmony_ci   from most to least significant.
146953a5a1b3Sopenharmony_ci
147053a5a1b3Sopenharmony_ci4.5.9 GSM-EFR
147153a5a1b3Sopenharmony_ci
147253a5a1b3Sopenharmony_ci   GSM-EFR denotes GSM 06.60 enhanced full rate speech transcoding,
147353a5a1b3Sopenharmony_ci   specified in ETS 300 726 which is available from ETSI at the address
147453a5a1b3Sopenharmony_ci   given in Section 4.5.8.  This codec has a frame length of 244 bits.
147553a5a1b3Sopenharmony_ci   For transmission in RTP, each codec frame is packed into a 31 octet
147653a5a1b3Sopenharmony_ci   (248 bit) buffer beginning with a 4-bit signature 0xC in a manner
147753a5a1b3Sopenharmony_ci   similar to that specified here for the original GSM 06.10 codec.  The
147853a5a1b3Sopenharmony_ci   packing is specified in ETSI Technical Specification TS 101 318.
147953a5a1b3Sopenharmony_ci
148053a5a1b3Sopenharmony_ci4.5.10 L8
148153a5a1b3Sopenharmony_ci
148253a5a1b3Sopenharmony_ci   L8 denotes linear audio data samples, using 8-bits of precision with
148353a5a1b3Sopenharmony_ci   an offset of 128, that is, the most negative signal is encoded as
148453a5a1b3Sopenharmony_ci   zero.
148553a5a1b3Sopenharmony_ci
148653a5a1b3Sopenharmony_ci4.5.11 L16
148753a5a1b3Sopenharmony_ci
148853a5a1b3Sopenharmony_ci   L16 denotes uncompressed audio data samples, using 16-bit signed
148953a5a1b3Sopenharmony_ci   representation with 65,535 equally divided steps between minimum and
149053a5a1b3Sopenharmony_ci   maximum signal level, ranging from -32,768 to 32,767.  The value is
149153a5a1b3Sopenharmony_ci   represented in two's complement notation and transmitted in network
149253a5a1b3Sopenharmony_ci   byte order (most significant byte first).
149353a5a1b3Sopenharmony_ci
149453a5a1b3Sopenharmony_ci   The MIME registration for L16 in RFC 3555 [7] specifies parameters
149553a5a1b3Sopenharmony_ci   that MAY be used with MIME or SDP to indicate that analog pre-
149653a5a1b3Sopenharmony_ci   emphasis was applied to the signal before quantization or to indicate
149753a5a1b3Sopenharmony_ci   that a multiple-channel audio stream follows a different channel
149853a5a1b3Sopenharmony_ci   ordering convention than is specified in Section 4.1.
149953a5a1b3Sopenharmony_ci
150053a5a1b3Sopenharmony_ci4.5.12 LPC
150153a5a1b3Sopenharmony_ci
150253a5a1b3Sopenharmony_ci   LPC designates an experimental linear predictive encoding contributed
150353a5a1b3Sopenharmony_ci   by Ron Frederick, which is based on an implementation written by Ron
150453a5a1b3Sopenharmony_ci   Zuckerman posted to the Usenet group comp.dsp on June 26, 1992.  The
150553a5a1b3Sopenharmony_ci   codec generates 14 octets for every frame.  The framesize is set to
150653a5a1b3Sopenharmony_ci   20 ms, resulting in a bit rate of 5,600 b/s.
150753a5a1b3Sopenharmony_ci
150853a5a1b3Sopenharmony_ci
150953a5a1b3Sopenharmony_ci
151053a5a1b3Sopenharmony_ci
151153a5a1b3Sopenharmony_ci
151253a5a1b3Sopenharmony_ci
151353a5a1b3Sopenharmony_ci
151453a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 27]
151553a5a1b3Sopenharmony_ci
151653a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
151753a5a1b3Sopenharmony_ci
151853a5a1b3Sopenharmony_ci
151953a5a1b3Sopenharmony_ci4.5.13 MPA
152053a5a1b3Sopenharmony_ci
152153a5a1b3Sopenharmony_ci   MPA denotes MPEG-1 or MPEG-2 audio encapsulated as elementary
152253a5a1b3Sopenharmony_ci   streams.  The encoding is defined in ISO standards ISO/IEC 11172-3
152353a5a1b3Sopenharmony_ci   and 13818-3.  The encapsulation is specified in RFC 2250 [14].
152453a5a1b3Sopenharmony_ci
152553a5a1b3Sopenharmony_ci   The encoding may be at any of three levels of complexity, called
152653a5a1b3Sopenharmony_ci   Layer I, II and III.  The selected layer as well as the sampling rate
152753a5a1b3Sopenharmony_ci   and channel count are indicated in the payload.  The RTP timestamp
152853a5a1b3Sopenharmony_ci   clock rate is always 90,000, independent of the sampling rate.
152953a5a1b3Sopenharmony_ci   MPEG-1 audio supports sampling rates of 32, 44.1, and 48 kHz (ISO/IEC
153053a5a1b3Sopenharmony_ci   11172-3, section 1.1; "Scope").  MPEG-2 supports sampling rates of
153153a5a1b3Sopenharmony_ci   16, 22.05 and 24 kHz.  The number of samples per frame is fixed, but
153253a5a1b3Sopenharmony_ci   the frame size will vary with the sampling rate and bit rate.
153353a5a1b3Sopenharmony_ci
153453a5a1b3Sopenharmony_ci   The MIME registration for MPA in RFC 3555 [7] specifies parameters
153553a5a1b3Sopenharmony_ci   that MAY be used with MIME or SDP to restrict the selection of layer,
153653a5a1b3Sopenharmony_ci   channel count, sampling rate, and bit rate.
153753a5a1b3Sopenharmony_ci
153853a5a1b3Sopenharmony_ci4.5.14 PCMA and PCMU
153953a5a1b3Sopenharmony_ci
154053a5a1b3Sopenharmony_ci   PCMA and PCMU are specified in ITU-T Recommendation G.711.  Audio
154153a5a1b3Sopenharmony_ci   data is encoded as eight bits per sample, after logarithmic scaling.
154253a5a1b3Sopenharmony_ci   PCMU denotes mu-law scaling, PCMA A-law scaling.  A detailed
154353a5a1b3Sopenharmony_ci   description is given by Jayant and Noll [15].  Each G.711 octet SHALL
154453a5a1b3Sopenharmony_ci   be octet-aligned in an RTP packet.  The sign bit of each G.711 octet
154553a5a1b3Sopenharmony_ci   SHALL correspond to the most significant bit of the octet in the RTP
154653a5a1b3Sopenharmony_ci   packet (i.e., assuming the G.711 samples are handled as octets on the
154753a5a1b3Sopenharmony_ci   host machine, the sign bit SHALL be the most significant bit of the
154853a5a1b3Sopenharmony_ci   octet as defined by the host machine format).  The 56 kb/s and 48
154953a5a1b3Sopenharmony_ci   kb/s modes of G.711 are not applicable to RTP, since PCMA and PCMU
155053a5a1b3Sopenharmony_ci   MUST always be transmitted as 8-bit samples.
155153a5a1b3Sopenharmony_ci
155253a5a1b3Sopenharmony_ci   See Section 4.1 regarding silence suppression.
155353a5a1b3Sopenharmony_ci
155453a5a1b3Sopenharmony_ci4.5.15 QCELP
155553a5a1b3Sopenharmony_ci
155653a5a1b3Sopenharmony_ci   The Electronic Industries Association (EIA) & Telecommunications
155753a5a1b3Sopenharmony_ci   Industry Association (TIA) standard IS-733, "TR45: High Rate Speech
155853a5a1b3Sopenharmony_ci   Service Option for Wideband Spread Spectrum Communications Systems",
155953a5a1b3Sopenharmony_ci   defines the QCELP audio compression algorithm for use in wireless
156053a5a1b3Sopenharmony_ci   CDMA applications.  The QCELP CODEC compresses each 20 milliseconds
156153a5a1b3Sopenharmony_ci   of 8,000 Hz, 16-bit sampled input speech into one of four different
156253a5a1b3Sopenharmony_ci   size output frames:  Rate 1 (266 bits), Rate 1/2 (124 bits), Rate 1/4
156353a5a1b3Sopenharmony_ci   (54 bits) or Rate 1/8 (20 bits).  For typical speech patterns, this
156453a5a1b3Sopenharmony_ci   results in an average output of 6.8 kb/s for normal mode and 4.7 kb/s
156553a5a1b3Sopenharmony_ci   for reduced rate mode.  The packetization of the QCELP audio codec is
156653a5a1b3Sopenharmony_ci   described in [16].
156753a5a1b3Sopenharmony_ci
156853a5a1b3Sopenharmony_ci
156953a5a1b3Sopenharmony_ci
157053a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 28]
157153a5a1b3Sopenharmony_ci
157253a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
157353a5a1b3Sopenharmony_ci
157453a5a1b3Sopenharmony_ci
157553a5a1b3Sopenharmony_ci4.5.16 RED
157653a5a1b3Sopenharmony_ci
157753a5a1b3Sopenharmony_ci   The redundant audio payload format "RED" is specified by RFC 2198
157853a5a1b3Sopenharmony_ci   [17].  It defines a means by which multiple redundant copies of an
157953a5a1b3Sopenharmony_ci   audio packet may be transmitted in a single RTP stream.  Each packet
158053a5a1b3Sopenharmony_ci   in such a stream contains, in addition to the audio data for that
158153a5a1b3Sopenharmony_ci   packetization interval, a (more heavily compressed) copy of the data
158253a5a1b3Sopenharmony_ci   from a previous packetization interval.  This allows an approximation
158353a5a1b3Sopenharmony_ci   of the data from lost packets to be recovered upon decoding of a
158453a5a1b3Sopenharmony_ci   subsequent packet, giving much improved sound quality when compared
158553a5a1b3Sopenharmony_ci   with silence substitution for lost packets.
158653a5a1b3Sopenharmony_ci
158753a5a1b3Sopenharmony_ci4.5.17 VDVI
158853a5a1b3Sopenharmony_ci
158953a5a1b3Sopenharmony_ci   VDVI is a variable-rate version of DVI4, yielding speech bit rates of
159053a5a1b3Sopenharmony_ci   between 10 and 25 kb/s.  It is specified for single-channel operation
159153a5a1b3Sopenharmony_ci   only.  Samples are packed into octets starting at the most-
159253a5a1b3Sopenharmony_ci   significant bit.  The last octet is padded with 1 bits if the last
159353a5a1b3Sopenharmony_ci   sample does not fill the last octet.  This padding is distinct from
159453a5a1b3Sopenharmony_ci   the valid codewords.  The receiver needs to detect the padding
159553a5a1b3Sopenharmony_ci   because there is no explicit count of samples in the packet.
159653a5a1b3Sopenharmony_ci
159753a5a1b3Sopenharmony_ci   It uses the following encoding:
159853a5a1b3Sopenharmony_ci
159953a5a1b3Sopenharmony_ci            DVI4 codeword  VDVI bit pattern
160053a5a1b3Sopenharmony_ci            _______________________________
160153a5a1b3Sopenharmony_ci                        0  00
160253a5a1b3Sopenharmony_ci                        1  010
160353a5a1b3Sopenharmony_ci                        2  1100
160453a5a1b3Sopenharmony_ci                        3  11100
160553a5a1b3Sopenharmony_ci                        4  111100
160653a5a1b3Sopenharmony_ci                        5  1111100
160753a5a1b3Sopenharmony_ci                        6  11111100
160853a5a1b3Sopenharmony_ci                        7  11111110
160953a5a1b3Sopenharmony_ci                        8  10
161053a5a1b3Sopenharmony_ci                        9  011
161153a5a1b3Sopenharmony_ci                       10  1101
161253a5a1b3Sopenharmony_ci                       11  11101
161353a5a1b3Sopenharmony_ci                       12  111101
161453a5a1b3Sopenharmony_ci                       13  1111101
161553a5a1b3Sopenharmony_ci                       14  11111101
161653a5a1b3Sopenharmony_ci                       15  11111111
161753a5a1b3Sopenharmony_ci
161853a5a1b3Sopenharmony_ci
161953a5a1b3Sopenharmony_ci
162053a5a1b3Sopenharmony_ci
162153a5a1b3Sopenharmony_ci
162253a5a1b3Sopenharmony_ci
162353a5a1b3Sopenharmony_ci
162453a5a1b3Sopenharmony_ci
162553a5a1b3Sopenharmony_ci
162653a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 29]
162753a5a1b3Sopenharmony_ci
162853a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
162953a5a1b3Sopenharmony_ci
163053a5a1b3Sopenharmony_ci
163153a5a1b3Sopenharmony_ci5.  Video
163253a5a1b3Sopenharmony_ci
163353a5a1b3Sopenharmony_ci   The following sections describe the video encodings that are defined
163453a5a1b3Sopenharmony_ci   in this memo and give their abbreviated names used for
163553a5a1b3Sopenharmony_ci   identification.  These video encodings and their payload types are
163653a5a1b3Sopenharmony_ci   listed in Table 5.
163753a5a1b3Sopenharmony_ci
163853a5a1b3Sopenharmony_ci   All of these video encodings use an RTP timestamp frequency of 90,000
163953a5a1b3Sopenharmony_ci   Hz, the same as the MPEG presentation time stamp frequency.  This
164053a5a1b3Sopenharmony_ci   frequency yields exact integer timestamp increments for the typical
164153a5a1b3Sopenharmony_ci   24 (HDTV), 25 (PAL), and 29.97 (NTSC) and 30 Hz (HDTV) frame rates
164253a5a1b3Sopenharmony_ci   and 50, 59.94 and 60 Hz field rates.  While 90 kHz is the RECOMMENDED
164353a5a1b3Sopenharmony_ci   rate for future video encodings used within this profile, other rates
164453a5a1b3Sopenharmony_ci   MAY be used.  However, it is not sufficient to use the video frame
164553a5a1b3Sopenharmony_ci   rate (typically between 15 and 30 Hz) because that does not provide
164653a5a1b3Sopenharmony_ci   adequate resolution for typical synchronization requirements when
164753a5a1b3Sopenharmony_ci   calculating the RTP timestamp corresponding to the NTP timestamp in
164853a5a1b3Sopenharmony_ci   an RTCP SR packet.  The timestamp resolution MUST also be sufficient
164953a5a1b3Sopenharmony_ci   for the jitter estimate contained in the receiver reports.
165053a5a1b3Sopenharmony_ci
165153a5a1b3Sopenharmony_ci   For most of these video encodings, the RTP timestamp encodes the
165253a5a1b3Sopenharmony_ci   sampling instant of the video image contained in the RTP data packet.
165353a5a1b3Sopenharmony_ci   If a video image occupies more than one packet, the timestamp is the
165453a5a1b3Sopenharmony_ci   same on all of those packets.  Packets from different video images
165553a5a1b3Sopenharmony_ci   are distinguished by their different timestamps.
165653a5a1b3Sopenharmony_ci
165753a5a1b3Sopenharmony_ci   Most of these video encodings also specify that the marker bit of the
165853a5a1b3Sopenharmony_ci   RTP header SHOULD be set to one in the last packet of a video frame
165953a5a1b3Sopenharmony_ci   and otherwise set to zero.  Thus, it is not necessary to wait for a
166053a5a1b3Sopenharmony_ci   following packet with a different timestamp to detect that a new
166153a5a1b3Sopenharmony_ci   frame should be displayed.
166253a5a1b3Sopenharmony_ci
166353a5a1b3Sopenharmony_ci5.1  CelB
166453a5a1b3Sopenharmony_ci
166553a5a1b3Sopenharmony_ci   The CELL-B encoding is a proprietary encoding proposed by Sun
166653a5a1b3Sopenharmony_ci   Microsystems.  The byte stream format is described in RFC 2029 [18].
166753a5a1b3Sopenharmony_ci
166853a5a1b3Sopenharmony_ci5.2 JPEG
166953a5a1b3Sopenharmony_ci
167053a5a1b3Sopenharmony_ci   The encoding is specified in ISO Standards 10918-1 and 10918-2.  The
167153a5a1b3Sopenharmony_ci   RTP payload format is as specified in RFC 2435 [19].
167253a5a1b3Sopenharmony_ci
167353a5a1b3Sopenharmony_ci5.3 H261
167453a5a1b3Sopenharmony_ci
167553a5a1b3Sopenharmony_ci   The encoding is specified in ITU-T Recommendation H.261, "Video codec
167653a5a1b3Sopenharmony_ci   for audiovisual services at p x 64 kbit/s".  The packetization and
167753a5a1b3Sopenharmony_ci   RTP-specific properties are described in RFC 2032 [20].
167853a5a1b3Sopenharmony_ci
167953a5a1b3Sopenharmony_ci
168053a5a1b3Sopenharmony_ci
168153a5a1b3Sopenharmony_ci
168253a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 30]
168353a5a1b3Sopenharmony_ci
168453a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
168553a5a1b3Sopenharmony_ci
168653a5a1b3Sopenharmony_ci
168753a5a1b3Sopenharmony_ci5.4 H263
168853a5a1b3Sopenharmony_ci
168953a5a1b3Sopenharmony_ci   The encoding is specified in the 1996 version of ITU-T Recommendation
169053a5a1b3Sopenharmony_ci   H.263, "Video coding for low bit rate communication".  The
169153a5a1b3Sopenharmony_ci   packetization and RTP-specific properties are described in RFC 2190
169253a5a1b3Sopenharmony_ci   [21].  The H263-1998 payload format is RECOMMENDED over this one for
169353a5a1b3Sopenharmony_ci   use by new implementations.
169453a5a1b3Sopenharmony_ci
169553a5a1b3Sopenharmony_ci5.5 H263-1998
169653a5a1b3Sopenharmony_ci
169753a5a1b3Sopenharmony_ci   The encoding is specified in the 1998 version of ITU-T Recommendation
169853a5a1b3Sopenharmony_ci   H.263, "Video coding for low bit rate communication".  The
169953a5a1b3Sopenharmony_ci   packetization and RTP-specific properties are described in RFC 2429
170053a5a1b3Sopenharmony_ci   [22].  Because the 1998 version of H.263 is a superset of the 1996
170153a5a1b3Sopenharmony_ci   syntax, this payload format can also be used with the 1996 version of
170253a5a1b3Sopenharmony_ci   H.263, and is RECOMMENDED for this use by new implementations.  This
170353a5a1b3Sopenharmony_ci   payload format does not replace RFC 2190, which continues to be used
170453a5a1b3Sopenharmony_ci   by existing implementations, and may be required for backward
170553a5a1b3Sopenharmony_ci   compatibility in new implementations.  Implementations using the new
170653a5a1b3Sopenharmony_ci   features of the 1998 version of H.263 MUST use the payload format
170753a5a1b3Sopenharmony_ci   described in RFC 2429.
170853a5a1b3Sopenharmony_ci
170953a5a1b3Sopenharmony_ci5.6 MPV
171053a5a1b3Sopenharmony_ci
171153a5a1b3Sopenharmony_ci   MPV designates the use of MPEG-1 and MPEG-2 video encoding elementary
171253a5a1b3Sopenharmony_ci   streams as specified in ISO Standards ISO/IEC 11172 and 13818-2,
171353a5a1b3Sopenharmony_ci   respectively.  The RTP payload format is as specified in RFC 2250
171453a5a1b3Sopenharmony_ci   [14], Section 3.
171553a5a1b3Sopenharmony_ci
171653a5a1b3Sopenharmony_ci   The MIME registration for MPV in RFC 3555 [7] specifies a parameter
171753a5a1b3Sopenharmony_ci   that MAY be used with MIME or SDP to restrict the selection of the
171853a5a1b3Sopenharmony_ci   type of MPEG video.
171953a5a1b3Sopenharmony_ci
172053a5a1b3Sopenharmony_ci5.7 MP2T
172153a5a1b3Sopenharmony_ci
172253a5a1b3Sopenharmony_ci   MP2T designates the use of MPEG-2 transport streams, for either audio
172353a5a1b3Sopenharmony_ci   or video.  The RTP payload format is described in RFC 2250 [14],
172453a5a1b3Sopenharmony_ci   Section 2.
172553a5a1b3Sopenharmony_ci
172653a5a1b3Sopenharmony_ci
172753a5a1b3Sopenharmony_ci
172853a5a1b3Sopenharmony_ci
172953a5a1b3Sopenharmony_ci
173053a5a1b3Sopenharmony_ci
173153a5a1b3Sopenharmony_ci
173253a5a1b3Sopenharmony_ci
173353a5a1b3Sopenharmony_ci
173453a5a1b3Sopenharmony_ci
173553a5a1b3Sopenharmony_ci
173653a5a1b3Sopenharmony_ci
173753a5a1b3Sopenharmony_ci
173853a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 31]
173953a5a1b3Sopenharmony_ci
174053a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
174153a5a1b3Sopenharmony_ci
174253a5a1b3Sopenharmony_ci
174353a5a1b3Sopenharmony_ci5.8 nv
174453a5a1b3Sopenharmony_ci
174553a5a1b3Sopenharmony_ci   The encoding is implemented in the program `nv', version 4, developed
174653a5a1b3Sopenharmony_ci   at Xerox PARC by Ron Frederick.  Further information is available
174753a5a1b3Sopenharmony_ci   from the author:
174853a5a1b3Sopenharmony_ci
174953a5a1b3Sopenharmony_ci   Ron Frederick
175053a5a1b3Sopenharmony_ci   Blue Coat Systems Inc.
175153a5a1b3Sopenharmony_ci   650 Almanor Avenue
175253a5a1b3Sopenharmony_ci   Sunnyvale, CA 94085
175353a5a1b3Sopenharmony_ci   United States
175453a5a1b3Sopenharmony_ci   EMail: ronf@bluecoat.com
175553a5a1b3Sopenharmony_ci
175653a5a1b3Sopenharmony_ci6.  Payload Type Definitions
175753a5a1b3Sopenharmony_ci
175853a5a1b3Sopenharmony_ci   Tables 4 and 5 define this profile's static payload type values for
175953a5a1b3Sopenharmony_ci   the PT field of the RTP data header.  In addition, payload type
176053a5a1b3Sopenharmony_ci   values in the range 96-127 MAY be defined dynamically through a
176153a5a1b3Sopenharmony_ci   conference control protocol, which is beyond the scope of this
176253a5a1b3Sopenharmony_ci   document.  For example, a session directory could specify that for a
176353a5a1b3Sopenharmony_ci   given session, payload type 96 indicates PCMU encoding, 8,000 Hz
176453a5a1b3Sopenharmony_ci   sampling rate, 2 channels.  Entries in Tables 4 and 5 with payload
176553a5a1b3Sopenharmony_ci   type "dyn" have no static payload type assigned and are only used
176653a5a1b3Sopenharmony_ci   with a dynamic payload type.  Payload type 2 was assigned to G721 in
176753a5a1b3Sopenharmony_ci   RFC 1890 and to its equivalent successor G726-32 in draft versions of
176853a5a1b3Sopenharmony_ci   this specification, but its use is now deprecated and that static
176953a5a1b3Sopenharmony_ci   payload type is marked reserved due to conflicting use for the
177053a5a1b3Sopenharmony_ci   payload formats G726-32 and AAL2-G726-32 (see Section 4.5.4).
177153a5a1b3Sopenharmony_ci   Payload type 13 indicates the Comfort Noise (CN) payload format
177253a5a1b3Sopenharmony_ci   specified in RFC 3389 [9].  Payload type 19 is marked "reserved"
177353a5a1b3Sopenharmony_ci   because some draft versions of this specification assigned that
177453a5a1b3Sopenharmony_ci   number to an earlier version of the comfort noise payload format.
177553a5a1b3Sopenharmony_ci   The payload type range 72-76 is marked "reserved" so that RTCP and
177653a5a1b3Sopenharmony_ci   RTP packets can be reliably distinguished (see Section "Summary of
177753a5a1b3Sopenharmony_ci   Protocol Constants" of the RTP protocol specification).
177853a5a1b3Sopenharmony_ci
177953a5a1b3Sopenharmony_ci   The payload types currently defined in this profile are assigned to
178053a5a1b3Sopenharmony_ci   exactly one of three categories or media types:  audio only, video
178153a5a1b3Sopenharmony_ci   only and those combining audio and video.  The media types are marked
178253a5a1b3Sopenharmony_ci   in Tables 4 and 5 as "A", "V" and "AV", respectively.  Payload types
178353a5a1b3Sopenharmony_ci   of different media types SHALL NOT be interleaved or multiplexed
178453a5a1b3Sopenharmony_ci   within a single RTP session, but multiple RTP sessions MAY be used in
178553a5a1b3Sopenharmony_ci   parallel to send multiple media types.  An RTP source MAY change
178653a5a1b3Sopenharmony_ci   payload types within the same media type during a session.  See the
178753a5a1b3Sopenharmony_ci   section "Multiplexing RTP Sessions" of RFC 3550 for additional
178853a5a1b3Sopenharmony_ci   explanation.
178953a5a1b3Sopenharmony_ci
179053a5a1b3Sopenharmony_ci
179153a5a1b3Sopenharmony_ci
179253a5a1b3Sopenharmony_ci
179353a5a1b3Sopenharmony_ci
179453a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 32]
179553a5a1b3Sopenharmony_ci
179653a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
179753a5a1b3Sopenharmony_ci
179853a5a1b3Sopenharmony_ci
179953a5a1b3Sopenharmony_ci               PT   encoding    media type  clock rate   channels
180053a5a1b3Sopenharmony_ci                    name                    (Hz)
180153a5a1b3Sopenharmony_ci               ___________________________________________________
180253a5a1b3Sopenharmony_ci               0    PCMU        A            8,000       1
180353a5a1b3Sopenharmony_ci               1    reserved    A
180453a5a1b3Sopenharmony_ci               2    reserved    A
180553a5a1b3Sopenharmony_ci               3    GSM         A            8,000       1
180653a5a1b3Sopenharmony_ci               4    G723        A            8,000       1
180753a5a1b3Sopenharmony_ci               5    DVI4        A            8,000       1
180853a5a1b3Sopenharmony_ci               6    DVI4        A           16,000       1
180953a5a1b3Sopenharmony_ci               7    LPC         A            8,000       1
181053a5a1b3Sopenharmony_ci               8    PCMA        A            8,000       1
181153a5a1b3Sopenharmony_ci               9    G722        A            8,000       1
181253a5a1b3Sopenharmony_ci               10   L16         A           44,100       2
181353a5a1b3Sopenharmony_ci               11   L16         A           44,100       1
181453a5a1b3Sopenharmony_ci               12   QCELP       A            8,000       1
181553a5a1b3Sopenharmony_ci               13   CN          A            8,000       1
181653a5a1b3Sopenharmony_ci               14   MPA         A           90,000       (see text)
181753a5a1b3Sopenharmony_ci               15   G728        A            8,000       1
181853a5a1b3Sopenharmony_ci               16   DVI4        A           11,025       1
181953a5a1b3Sopenharmony_ci               17   DVI4        A           22,050       1
182053a5a1b3Sopenharmony_ci               18   G729        A            8,000       1
182153a5a1b3Sopenharmony_ci               19   reserved    A
182253a5a1b3Sopenharmony_ci               20   unassigned  A
182353a5a1b3Sopenharmony_ci               21   unassigned  A
182453a5a1b3Sopenharmony_ci               22   unassigned  A
182553a5a1b3Sopenharmony_ci               23   unassigned  A
182653a5a1b3Sopenharmony_ci               dyn  G726-40     A            8,000       1
182753a5a1b3Sopenharmony_ci               dyn  G726-32     A            8,000       1
182853a5a1b3Sopenharmony_ci               dyn  G726-24     A            8,000       1
182953a5a1b3Sopenharmony_ci               dyn  G726-16     A            8,000       1
183053a5a1b3Sopenharmony_ci               dyn  G729D       A            8,000       1
183153a5a1b3Sopenharmony_ci               dyn  G729E       A            8,000       1
183253a5a1b3Sopenharmony_ci               dyn  GSM-EFR     A            8,000       1
183353a5a1b3Sopenharmony_ci               dyn  L8          A            var.        var.
183453a5a1b3Sopenharmony_ci               dyn  RED         A                        (see text)
183553a5a1b3Sopenharmony_ci               dyn  VDVI        A            var.        1
183653a5a1b3Sopenharmony_ci
183753a5a1b3Sopenharmony_ci               Table 4: Payload types (PT) for audio encodings
183853a5a1b3Sopenharmony_ci
183953a5a1b3Sopenharmony_ci
184053a5a1b3Sopenharmony_ci
184153a5a1b3Sopenharmony_ci
184253a5a1b3Sopenharmony_ci
184353a5a1b3Sopenharmony_ci
184453a5a1b3Sopenharmony_ci
184553a5a1b3Sopenharmony_ci
184653a5a1b3Sopenharmony_ci
184753a5a1b3Sopenharmony_ci
184853a5a1b3Sopenharmony_ci
184953a5a1b3Sopenharmony_ci
185053a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 33]
185153a5a1b3Sopenharmony_ci
185253a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
185353a5a1b3Sopenharmony_ci
185453a5a1b3Sopenharmony_ci
185553a5a1b3Sopenharmony_ci               PT      encoding    media type  clock rate
185653a5a1b3Sopenharmony_ci                       name                    (Hz)
185753a5a1b3Sopenharmony_ci               _____________________________________________
185853a5a1b3Sopenharmony_ci               24      unassigned  V
185953a5a1b3Sopenharmony_ci               25      CelB        V           90,000
186053a5a1b3Sopenharmony_ci               26      JPEG        V           90,000
186153a5a1b3Sopenharmony_ci               27      unassigned  V
186253a5a1b3Sopenharmony_ci               28      nv          V           90,000
186353a5a1b3Sopenharmony_ci               29      unassigned  V
186453a5a1b3Sopenharmony_ci               30      unassigned  V
186553a5a1b3Sopenharmony_ci               31      H261        V           90,000
186653a5a1b3Sopenharmony_ci               32      MPV         V           90,000
186753a5a1b3Sopenharmony_ci               33      MP2T        AV          90,000
186853a5a1b3Sopenharmony_ci               34      H263        V           90,000
186953a5a1b3Sopenharmony_ci               35-71   unassigned  ?
187053a5a1b3Sopenharmony_ci               72-76   reserved    N/A         N/A
187153a5a1b3Sopenharmony_ci               77-95   unassigned  ?
187253a5a1b3Sopenharmony_ci               96-127  dynamic     ?
187353a5a1b3Sopenharmony_ci               dyn     H263-1998   V           90,000
187453a5a1b3Sopenharmony_ci
187553a5a1b3Sopenharmony_ci               Table 5: Payload types (PT) for video and combined
187653a5a1b3Sopenharmony_ci                        encodings
187753a5a1b3Sopenharmony_ci
187853a5a1b3Sopenharmony_ci   Session participants agree through mechanisms beyond the scope of
187953a5a1b3Sopenharmony_ci   this specification on the set of payload types allowed in a given
188053a5a1b3Sopenharmony_ci   session.  This set MAY, for example, be defined by the capabilities
188153a5a1b3Sopenharmony_ci   of the applications used, negotiated by a conference control protocol
188253a5a1b3Sopenharmony_ci   or established by agreement between the human participants.
188353a5a1b3Sopenharmony_ci
188453a5a1b3Sopenharmony_ci   Audio applications operating under this profile SHOULD, at a minimum,
188553a5a1b3Sopenharmony_ci   be able to send and/or receive payload types 0 (PCMU) and 5 (DVI4).
188653a5a1b3Sopenharmony_ci   This allows interoperability without format negotiation and ensures
188753a5a1b3Sopenharmony_ci   successful negotiation with a conference control protocol.
188853a5a1b3Sopenharmony_ci
188953a5a1b3Sopenharmony_ci7.  RTP over TCP and Similar Byte Stream Protocols
189053a5a1b3Sopenharmony_ci
189153a5a1b3Sopenharmony_ci   Under special circumstances, it may be necessary to carry RTP in
189253a5a1b3Sopenharmony_ci   protocols offering a byte stream abstraction, such as TCP, possibly
189353a5a1b3Sopenharmony_ci   multiplexed with other data.  The application MUST define its own
189453a5a1b3Sopenharmony_ci   method of delineating RTP and RTCP packets (RTSP [23] provides an
189553a5a1b3Sopenharmony_ci   example of such an encapsulation specification).
189653a5a1b3Sopenharmony_ci
189753a5a1b3Sopenharmony_ci8.  Port Assignment
189853a5a1b3Sopenharmony_ci
189953a5a1b3Sopenharmony_ci   As specified in the RTP protocol definition, RTP data SHOULD be
190053a5a1b3Sopenharmony_ci   carried on an even UDP port number and the corresponding RTCP packets
190153a5a1b3Sopenharmony_ci   SHOULD be carried on the next higher (odd) port number.
190253a5a1b3Sopenharmony_ci
190353a5a1b3Sopenharmony_ci
190453a5a1b3Sopenharmony_ci
190553a5a1b3Sopenharmony_ci
190653a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 34]
190753a5a1b3Sopenharmony_ci
190853a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
190953a5a1b3Sopenharmony_ci
191053a5a1b3Sopenharmony_ci
191153a5a1b3Sopenharmony_ci   Applications operating under this profile MAY use any such UDP port
191253a5a1b3Sopenharmony_ci   pair.  For example, the port pair MAY be allocated randomly by a
191353a5a1b3Sopenharmony_ci   session management program.  A single fixed port number pair cannot
191453a5a1b3Sopenharmony_ci   be required because multiple applications using this profile are
191553a5a1b3Sopenharmony_ci   likely to run on the same host, and there are some operating systems
191653a5a1b3Sopenharmony_ci   that do not allow multiple processes to use the same UDP port with
191753a5a1b3Sopenharmony_ci   different multicast addresses.
191853a5a1b3Sopenharmony_ci
191953a5a1b3Sopenharmony_ci   However, port numbers 5004 and 5005 have been registered for use with
192053a5a1b3Sopenharmony_ci   this profile for those applications that choose to use them as the
192153a5a1b3Sopenharmony_ci   default pair.  Applications that operate under multiple profiles MAY
192253a5a1b3Sopenharmony_ci   use this port pair as an indication to select this profile if they
192353a5a1b3Sopenharmony_ci   are not subject to the constraint of the previous paragraph.
192453a5a1b3Sopenharmony_ci   Applications need not have a default and MAY require that the port
192553a5a1b3Sopenharmony_ci   pair be explicitly specified.  The particular port numbers were
192653a5a1b3Sopenharmony_ci   chosen to lie in the range above 5000 to accommodate port number
192753a5a1b3Sopenharmony_ci   allocation practice within some versions of the Unix operating
192853a5a1b3Sopenharmony_ci   system, where port numbers below 1024 can only be used by privileged
192953a5a1b3Sopenharmony_ci   processes and port numbers between 1024 and 5000 are automatically
193053a5a1b3Sopenharmony_ci   assigned by the operating system.
193153a5a1b3Sopenharmony_ci
193253a5a1b3Sopenharmony_ci9.  Changes from RFC 1890
193353a5a1b3Sopenharmony_ci
193453a5a1b3Sopenharmony_ci   This RFC revises RFC 1890.  It is mostly backwards-compatible with
193553a5a1b3Sopenharmony_ci   RFC 1890 except for functions removed because two interoperable
193653a5a1b3Sopenharmony_ci   implementations were not found.  The additions to RFC 1890 codify
193753a5a1b3Sopenharmony_ci   existing practice in the use of payload formats under this profile.
193853a5a1b3Sopenharmony_ci   Since this profile may be used without using any of the payload
193953a5a1b3Sopenharmony_ci   formats listed here, the addition of new payload formats in this
194053a5a1b3Sopenharmony_ci   revision does not affect backwards compatibility.  The changes are
194153a5a1b3Sopenharmony_ci   listed below, categorized into functional and non-functional changes.
194253a5a1b3Sopenharmony_ci
194353a5a1b3Sopenharmony_ci   Functional changes:
194453a5a1b3Sopenharmony_ci
194553a5a1b3Sopenharmony_ci   o  Section 11, "IANA Considerations" was added to specify the
194653a5a1b3Sopenharmony_ci      registration of the name for this profile.  That appendix also
194753a5a1b3Sopenharmony_ci      references a new Section 3 "Registering Additional Encodings"
194853a5a1b3Sopenharmony_ci      which establishes a policy that no additional registration of
194953a5a1b3Sopenharmony_ci      static payload types for this profile will be made beyond those
195053a5a1b3Sopenharmony_ci      added in this revision and included in Tables 4 and 5.  Instead,
195153a5a1b3Sopenharmony_ci      additional encoding names may be registered as MIME subtypes for
195253a5a1b3Sopenharmony_ci      binding to dynamic payload types.  Non-normative references were
195353a5a1b3Sopenharmony_ci      added to RFC 3555 [7] where MIME subtypes for all the listed
195453a5a1b3Sopenharmony_ci      payload formats are registered, some with optional parameters for
195553a5a1b3Sopenharmony_ci      use of the payload formats.
195653a5a1b3Sopenharmony_ci
195753a5a1b3Sopenharmony_ci
195853a5a1b3Sopenharmony_ci
195953a5a1b3Sopenharmony_ci
196053a5a1b3Sopenharmony_ci
196153a5a1b3Sopenharmony_ci
196253a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 35]
196353a5a1b3Sopenharmony_ci
196453a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
196553a5a1b3Sopenharmony_ci
196653a5a1b3Sopenharmony_ci
196753a5a1b3Sopenharmony_ci   o  Static payload types 4, 16, 17 and 34 were added to incorporate
196853a5a1b3Sopenharmony_ci      IANA registrations made since the publication of RFC 1890, along
196953a5a1b3Sopenharmony_ci      with the corresponding payload format descriptions for G723 and
197053a5a1b3Sopenharmony_ci      H263.
197153a5a1b3Sopenharmony_ci
197253a5a1b3Sopenharmony_ci   o  Following working group discussion, static payload types 12 and 18
197353a5a1b3Sopenharmony_ci      were added along with the corresponding payload format
197453a5a1b3Sopenharmony_ci      descriptions for QCELP and G729.  Static payload type 13 was
197553a5a1b3Sopenharmony_ci      assigned to the Comfort Noise (CN) payload format defined in RFC
197653a5a1b3Sopenharmony_ci      3389.  Payload type 19 was marked reserved because it had been
197753a5a1b3Sopenharmony_ci      temporarily allocated to an earlier version of Comfort Noise
197853a5a1b3Sopenharmony_ci      present in some draft revisions of this document.
197953a5a1b3Sopenharmony_ci
198053a5a1b3Sopenharmony_ci   o  The payload format for G721 was renamed to G726-32 following the
198153a5a1b3Sopenharmony_ci      ITU-T renumbering, and the payload format description for G726 was
198253a5a1b3Sopenharmony_ci      expanded to include the -16, -24 and -40 data rates.  Because of
198353a5a1b3Sopenharmony_ci      confusion regarding draft revisions of this document, some
198453a5a1b3Sopenharmony_ci      implementations of these G726 payload formats packed samples into
198553a5a1b3Sopenharmony_ci      octets starting with the most significant bit rather than the
198653a5a1b3Sopenharmony_ci      least significant bit as specified here.  To partially resolve
198753a5a1b3Sopenharmony_ci      this incompatibility, new payload formats named AAL2-G726-16, -24,
198853a5a1b3Sopenharmony_ci      -32 and -40 will be specified in a separate document (see note in
198953a5a1b3Sopenharmony_ci      Section 4.5.4), and use of static payload type 2 is deprecated as
199053a5a1b3Sopenharmony_ci      explained in Section 6.
199153a5a1b3Sopenharmony_ci
199253a5a1b3Sopenharmony_ci   o  Payload formats G729D and G729E were added following the ITU-T
199353a5a1b3Sopenharmony_ci      addition of Annexes D and E to Recommendation G.729.  Listings
199453a5a1b3Sopenharmony_ci      were added for payload formats GSM-EFR, RED, and H263-1998
199553a5a1b3Sopenharmony_ci      published in other documents subsequent to RFC 1890.  These
199653a5a1b3Sopenharmony_ci      additional payload formats are referenced only by dynamic payload
199753a5a1b3Sopenharmony_ci      type numbers.
199853a5a1b3Sopenharmony_ci
199953a5a1b3Sopenharmony_ci   o  The descriptions of the payload formats for G722, G728, GSM, VDVI
200053a5a1b3Sopenharmony_ci      were expanded.
200153a5a1b3Sopenharmony_ci
200253a5a1b3Sopenharmony_ci   o  The payload format for 1016 audio was removed and its static
200353a5a1b3Sopenharmony_ci      payload type assignment 1 was marked "reserved" because two
200453a5a1b3Sopenharmony_ci      interoperable implementations were not found.
200553a5a1b3Sopenharmony_ci
200653a5a1b3Sopenharmony_ci   o  Requirements for congestion control were added in Section 2.
200753a5a1b3Sopenharmony_ci
200853a5a1b3Sopenharmony_ci   o  This profile follows the suggestion in the revised RTP spec that
200953a5a1b3Sopenharmony_ci      RTCP bandwidth may be specified separately from the session
201053a5a1b3Sopenharmony_ci      bandwidth and separately for active senders and passive receivers.
201153a5a1b3Sopenharmony_ci
201253a5a1b3Sopenharmony_ci   o  The mapping of a user pass-phrase string into an encryption key
201353a5a1b3Sopenharmony_ci      was deleted from Section 2 because two interoperable
201453a5a1b3Sopenharmony_ci      implementations were not found.
201553a5a1b3Sopenharmony_ci
201653a5a1b3Sopenharmony_ci
201753a5a1b3Sopenharmony_ci
201853a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 36]
201953a5a1b3Sopenharmony_ci
202053a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
202153a5a1b3Sopenharmony_ci
202253a5a1b3Sopenharmony_ci
202353a5a1b3Sopenharmony_ci   o  The "quadrophonic" sample ordering convention for four-channel
202453a5a1b3Sopenharmony_ci      audio was removed to eliminate an ambiguity as noted in Section
202553a5a1b3Sopenharmony_ci      4.1.
202653a5a1b3Sopenharmony_ci
202753a5a1b3Sopenharmony_ci   Non-functional changes:
202853a5a1b3Sopenharmony_ci
202953a5a1b3Sopenharmony_ci   o  In Section 4.1, it is now explicitly stated that silence
203053a5a1b3Sopenharmony_ci      suppression is allowed for all audio payload formats.  (This has
203153a5a1b3Sopenharmony_ci      always been the case and derives from a fundamental aspect of
203253a5a1b3Sopenharmony_ci      RTP's design and the motivations for packet audio, but was not
203353a5a1b3Sopenharmony_ci      explicit stated before.)  The use of comfort noise is also
203453a5a1b3Sopenharmony_ci      explained.
203553a5a1b3Sopenharmony_ci
203653a5a1b3Sopenharmony_ci   o  In Section 4.1, the requirement level for setting of the marker
203753a5a1b3Sopenharmony_ci      bit on the first packet after silence for audio was changed from
203853a5a1b3Sopenharmony_ci      "is" to "SHOULD be", and clarified that the marker bit is set only
203953a5a1b3Sopenharmony_ci      when packets are intentionally not sent.
204053a5a1b3Sopenharmony_ci
204153a5a1b3Sopenharmony_ci   o  Similarly, text was added to specify that the marker bit SHOULD be
204253a5a1b3Sopenharmony_ci      set to one on the last packet of a video frame, and that video
204353a5a1b3Sopenharmony_ci      frames are distinguished by their timestamps.
204453a5a1b3Sopenharmony_ci
204553a5a1b3Sopenharmony_ci   o  RFC references are added for payload formats published after RFC
204653a5a1b3Sopenharmony_ci      1890.
204753a5a1b3Sopenharmony_ci
204853a5a1b3Sopenharmony_ci   o  The security considerations and full copyright sections were
204953a5a1b3Sopenharmony_ci      added.
205053a5a1b3Sopenharmony_ci
205153a5a1b3Sopenharmony_ci   o  According to Peter Hoddie of Apple, only pre-1994 Macintosh used
205253a5a1b3Sopenharmony_ci      the 22254.54 rate and none the 11127.27 rate, so the latter was
205353a5a1b3Sopenharmony_ci      dropped from the discussion of suggested sampling frequencies.
205453a5a1b3Sopenharmony_ci
205553a5a1b3Sopenharmony_ci   o  Table 1 was corrected to move some values from the "ms/packet"
205653a5a1b3Sopenharmony_ci      column to the "default ms/packet" column where they belonged.
205753a5a1b3Sopenharmony_ci
205853a5a1b3Sopenharmony_ci   o  Since the Interactive Multimedia Association ceased operations, an
205953a5a1b3Sopenharmony_ci      alternate resource was provided for a referenced IMA document.
206053a5a1b3Sopenharmony_ci
206153a5a1b3Sopenharmony_ci   o  A note has been added for G722 to clarify a discrepancy between
206253a5a1b3Sopenharmony_ci      the actual sampling rate and the RTP timestamp clock rate.
206353a5a1b3Sopenharmony_ci
206453a5a1b3Sopenharmony_ci   o  Small clarifications of the text have been made in several places,
206553a5a1b3Sopenharmony_ci      some in response to questions from readers.  In particular:
206653a5a1b3Sopenharmony_ci
206753a5a1b3Sopenharmony_ci      -  A definition for "media type" is given in Section 1.1 to allow
206853a5a1b3Sopenharmony_ci         the explanation of multiplexing RTP sessions in Section 6 to be
206953a5a1b3Sopenharmony_ci         more clear regarding the multiplexing of multiple media.
207053a5a1b3Sopenharmony_ci
207153a5a1b3Sopenharmony_ci
207253a5a1b3Sopenharmony_ci
207353a5a1b3Sopenharmony_ci
207453a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 37]
207553a5a1b3Sopenharmony_ci
207653a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
207753a5a1b3Sopenharmony_ci
207853a5a1b3Sopenharmony_ci
207953a5a1b3Sopenharmony_ci      -  The explanation of how to determine the number of audio frames
208053a5a1b3Sopenharmony_ci         in a packet from the length was expanded.
208153a5a1b3Sopenharmony_ci
208253a5a1b3Sopenharmony_ci      -  More description of the allocation of bandwidth to SDES items
208353a5a1b3Sopenharmony_ci         is given.
208453a5a1b3Sopenharmony_ci
208553a5a1b3Sopenharmony_ci      -  A note was added that the convention for the order of channels
208653a5a1b3Sopenharmony_ci         specified in Section 4.1 may be overridden by a particular
208753a5a1b3Sopenharmony_ci         encoding or payload format specification.
208853a5a1b3Sopenharmony_ci
208953a5a1b3Sopenharmony_ci      -  The terms MUST, SHOULD, MAY, etc. are used as defined in RFC
209053a5a1b3Sopenharmony_ci         2119.
209153a5a1b3Sopenharmony_ci
209253a5a1b3Sopenharmony_ci   o  A second author for this document was added.
209353a5a1b3Sopenharmony_ci
209453a5a1b3Sopenharmony_ci10. Security Considerations
209553a5a1b3Sopenharmony_ci
209653a5a1b3Sopenharmony_ci   Implementations using the profile defined in this specification are
209753a5a1b3Sopenharmony_ci   subject to the security considerations discussed in the RTP
209853a5a1b3Sopenharmony_ci   specification [1].  This profile does not specify any different
209953a5a1b3Sopenharmony_ci   security services.  The primary function of this profile is to list a
210053a5a1b3Sopenharmony_ci   set of data compression encodings for audio and video media.
210153a5a1b3Sopenharmony_ci
210253a5a1b3Sopenharmony_ci   Confidentiality of the media streams is achieved by encryption.
210353a5a1b3Sopenharmony_ci   Because the data compression used with the payload formats described
210453a5a1b3Sopenharmony_ci   in this profile is applied end-to-end, encryption may be performed
210553a5a1b3Sopenharmony_ci   after compression so there is no conflict between the two operations.
210653a5a1b3Sopenharmony_ci
210753a5a1b3Sopenharmony_ci   A potential denial-of-service threat exists for data encodings using
210853a5a1b3Sopenharmony_ci   compression techniques that have non-uniform receiver-end
210953a5a1b3Sopenharmony_ci   computational load.  The attacker can inject pathological datagrams
211053a5a1b3Sopenharmony_ci   into the stream which are complex to decode and cause the receiver to
211153a5a1b3Sopenharmony_ci   be overloaded.
211253a5a1b3Sopenharmony_ci
211353a5a1b3Sopenharmony_ci   As with any IP-based protocol, in some circumstances a receiver may
211453a5a1b3Sopenharmony_ci   be overloaded simply by the receipt of too many packets, either
211553a5a1b3Sopenharmony_ci   desired or undesired.  Network-layer authentication MAY be used to
211653a5a1b3Sopenharmony_ci   discard packets from undesired sources, but the processing cost of
211753a5a1b3Sopenharmony_ci   the authentication itself may be too high.  In a multicast
211853a5a1b3Sopenharmony_ci   environment, source pruning is implemented in IGMPv3 (RFC 3376) [24]
211953a5a1b3Sopenharmony_ci   and in multicast routing protocols to allow a receiver to select
212053a5a1b3Sopenharmony_ci   which sources are allowed to reach it.
212153a5a1b3Sopenharmony_ci
212253a5a1b3Sopenharmony_ci
212353a5a1b3Sopenharmony_ci
212453a5a1b3Sopenharmony_ci
212553a5a1b3Sopenharmony_ci
212653a5a1b3Sopenharmony_ci
212753a5a1b3Sopenharmony_ci
212853a5a1b3Sopenharmony_ci
212953a5a1b3Sopenharmony_ci
213053a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 38]
213153a5a1b3Sopenharmony_ci
213253a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
213353a5a1b3Sopenharmony_ci
213453a5a1b3Sopenharmony_ci
213553a5a1b3Sopenharmony_ci11. IANA Considerations
213653a5a1b3Sopenharmony_ci
213753a5a1b3Sopenharmony_ci   The RTP specification establishes a registry of profile names for use
213853a5a1b3Sopenharmony_ci   by higher-level control protocols, such as the Session Description
213953a5a1b3Sopenharmony_ci   Protocol (SDP), RFC 2327 [6], to refer to transport methods.  This
214053a5a1b3Sopenharmony_ci   profile registers the name "RTP/AVP".
214153a5a1b3Sopenharmony_ci
214253a5a1b3Sopenharmony_ci   Section 3 establishes the policy that no additional registration of
214353a5a1b3Sopenharmony_ci   static RTP payload types for this profile will be made beyond those
214453a5a1b3Sopenharmony_ci   added in this document revision and included in Tables 4 and 5.  IANA
214553a5a1b3Sopenharmony_ci   may reference that section in declining to accept any additional
214653a5a1b3Sopenharmony_ci   registration requests.  In Tables 4 and 5, note that types 1 and 2
214753a5a1b3Sopenharmony_ci   have been marked reserved and the set of "dyn" payload types included
214853a5a1b3Sopenharmony_ci   has been updated.  These changes are explained in Sections 6 and 9.
214953a5a1b3Sopenharmony_ci
215053a5a1b3Sopenharmony_ci12.  References
215153a5a1b3Sopenharmony_ci
215253a5a1b3Sopenharmony_ci12.1 Normative References
215353a5a1b3Sopenharmony_ci
215453a5a1b3Sopenharmony_ci   [1]  Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson,
215553a5a1b3Sopenharmony_ci        "RTP:  A Transport Protocol for Real-Time Applications", RFC
215653a5a1b3Sopenharmony_ci        3550, July 2003.
215753a5a1b3Sopenharmony_ci
215853a5a1b3Sopenharmony_ci   [2]  Bradner, S., "Key Words for Use in RFCs to Indicate Requirement
215953a5a1b3Sopenharmony_ci        Levels", BCP 14, RFC 2119, March 1997.
216053a5a1b3Sopenharmony_ci
216153a5a1b3Sopenharmony_ci   [3]  Apple Computer, "Audio Interchange File Format AIFF-C", August
216253a5a1b3Sopenharmony_ci        1991.  (also ftp://ftp.sgi.com/sgi/aiff-c.9.26.91.ps.Z).
216353a5a1b3Sopenharmony_ci
216453a5a1b3Sopenharmony_ci12.2 Informative References
216553a5a1b3Sopenharmony_ci
216653a5a1b3Sopenharmony_ci   [4]  Braden, R., Clark, D. and S. Shenker, "Integrated Services in
216753a5a1b3Sopenharmony_ci        the Internet Architecture: an Overview", RFC 1633, June 1994.
216853a5a1b3Sopenharmony_ci
216953a5a1b3Sopenharmony_ci   [5]  Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z. and W.
217053a5a1b3Sopenharmony_ci        Weiss, "An Architecture for Differentiated Service", RFC 2475,
217153a5a1b3Sopenharmony_ci        December 1998.
217253a5a1b3Sopenharmony_ci
217353a5a1b3Sopenharmony_ci   [6]  Handley, M. and V. Jacobson, "SDP: Session Description
217453a5a1b3Sopenharmony_ci        Protocol", RFC 2327, April 1998.
217553a5a1b3Sopenharmony_ci
217653a5a1b3Sopenharmony_ci   [7]  Casner, S. and P. Hoschka, "MIME Type Registration of RTP
217753a5a1b3Sopenharmony_ci        Payload Types", RFC 3555, July 2003.
217853a5a1b3Sopenharmony_ci
217953a5a1b3Sopenharmony_ci   [8]  Freed, N., Klensin, J. and J. Postel, "Multipurpose Internet
218053a5a1b3Sopenharmony_ci        Mail Extensions (MIME) Part Four: Registration Procedures", BCP
218153a5a1b3Sopenharmony_ci        13, RFC 2048, November 1996.
218253a5a1b3Sopenharmony_ci
218353a5a1b3Sopenharmony_ci
218453a5a1b3Sopenharmony_ci
218553a5a1b3Sopenharmony_ci
218653a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 39]
218753a5a1b3Sopenharmony_ci
218853a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
218953a5a1b3Sopenharmony_ci
219053a5a1b3Sopenharmony_ci
219153a5a1b3Sopenharmony_ci   [9]  Zopf, R., "Real-time Transport Protocol (RTP) Payload for
219253a5a1b3Sopenharmony_ci        Comfort Noise (CN)", RFC 3389, September 2002.
219353a5a1b3Sopenharmony_ci
219453a5a1b3Sopenharmony_ci   [10] Deleam, D. and J.-P. Petit, "Real-time implementations of the
219553a5a1b3Sopenharmony_ci        recent ITU-T low bit rate speech coders on the TI TMS320C54X
219653a5a1b3Sopenharmony_ci        DSP: results, methodology, and applications", in Proc. of
219753a5a1b3Sopenharmony_ci        International Conference on Signal Processing, Technology, and
219853a5a1b3Sopenharmony_ci        Applications (ICSPAT) , (Boston, Massachusetts), pp. 1656--1660,
219953a5a1b3Sopenharmony_ci        October 1996.
220053a5a1b3Sopenharmony_ci
220153a5a1b3Sopenharmony_ci   [11] Mouly, M. and M.-B. Pautet, The GSM system for mobile
220253a5a1b3Sopenharmony_ci        communications Lassay-les-Chateaux, France: Europe Media
220353a5a1b3Sopenharmony_ci        Duplication, 1993.
220453a5a1b3Sopenharmony_ci
220553a5a1b3Sopenharmony_ci   [12] Degener, J., "Digital Speech Compression", Dr. Dobb's Journal,
220653a5a1b3Sopenharmony_ci        December 1994.
220753a5a1b3Sopenharmony_ci
220853a5a1b3Sopenharmony_ci   [13] Redl, S., Weber, M. and M. Oliphant, An Introduction to GSM
220953a5a1b3Sopenharmony_ci        Boston: Artech House, 1995.
221053a5a1b3Sopenharmony_ci
221153a5a1b3Sopenharmony_ci   [14] Hoffman, D., Fernando, G., Goyal, V. and M. Civanlar, "RTP
221253a5a1b3Sopenharmony_ci        Payload Format for MPEG1/MPEG2 Video", RFC 2250, January 1998.
221353a5a1b3Sopenharmony_ci
221453a5a1b3Sopenharmony_ci   [15] Jayant, N. and P. Noll, Digital Coding of Waveforms--Principles
221553a5a1b3Sopenharmony_ci        and Applications to Speech and Video Englewood Cliffs, New
221653a5a1b3Sopenharmony_ci        Jersey: Prentice-Hall, 1984.
221753a5a1b3Sopenharmony_ci
221853a5a1b3Sopenharmony_ci   [16] McKay, K., "RTP Payload Format for PureVoice(tm) Audio", RFC
221953a5a1b3Sopenharmony_ci        2658, August 1999.
222053a5a1b3Sopenharmony_ci
222153a5a1b3Sopenharmony_ci   [17] Perkins, C., Kouvelas, I., Hodson, O., Hardman, V., Handley, M.,
222253a5a1b3Sopenharmony_ci        Bolot, J.-C., Vega-Garcia, A. and S. Fosse-Parisis, "RTP Payload
222353a5a1b3Sopenharmony_ci        for Redundant Audio Data", RFC 2198, September 1997.
222453a5a1b3Sopenharmony_ci
222553a5a1b3Sopenharmony_ci   [18] Speer, M. and D. Hoffman, "RTP Payload Format of Sun's CellB
222653a5a1b3Sopenharmony_ci        Video Encoding", RFC 2029, October 1996.
222753a5a1b3Sopenharmony_ci
222853a5a1b3Sopenharmony_ci   [19] Berc, L., Fenner, W., Frederick, R., McCanne, S. and P. Stewart,
222953a5a1b3Sopenharmony_ci        "RTP Payload Format for JPEG-Compressed Video", RFC 2435,
223053a5a1b3Sopenharmony_ci        October 1998.
223153a5a1b3Sopenharmony_ci
223253a5a1b3Sopenharmony_ci   [20] Turletti, T. and C. Huitema, "RTP Payload Format for H.261 Video
223353a5a1b3Sopenharmony_ci        Streams", RFC 2032, October 1996.
223453a5a1b3Sopenharmony_ci
223553a5a1b3Sopenharmony_ci   [21] Zhu, C., "RTP Payload Format for H.263 Video Streams", RFC 2190,
223653a5a1b3Sopenharmony_ci        September 1997.
223753a5a1b3Sopenharmony_ci
223853a5a1b3Sopenharmony_ci
223953a5a1b3Sopenharmony_ci
224053a5a1b3Sopenharmony_ci
224153a5a1b3Sopenharmony_ci
224253a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 40]
224353a5a1b3Sopenharmony_ci
224453a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
224553a5a1b3Sopenharmony_ci
224653a5a1b3Sopenharmony_ci
224753a5a1b3Sopenharmony_ci   [22] Bormann, C., Cline, L., Deisher, G., Gardos, T., Maciocco, C.,
224853a5a1b3Sopenharmony_ci        Newell, D., Ott, J., Sullivan, G., Wenger, S. and C. Zhu, "RTP
224953a5a1b3Sopenharmony_ci        Payload Format for the 1998 Version of ITU-T Rec. H.263 Video
225053a5a1b3Sopenharmony_ci        (H.263+)", RFC 2429, October 1998.
225153a5a1b3Sopenharmony_ci
225253a5a1b3Sopenharmony_ci   [23] Schulzrinne, H., Rao, A. and R. Lanphier, "Real Time Streaming
225353a5a1b3Sopenharmony_ci        Protocol (RTSP)", RFC 2326, April 1998.
225453a5a1b3Sopenharmony_ci
225553a5a1b3Sopenharmony_ci   [24] Cain, B., Deering, S., Kouvelas, I., Fenner, B. and A.
225653a5a1b3Sopenharmony_ci        Thyagarajan, "Internet Group Management Protocol, Version 3",
225753a5a1b3Sopenharmony_ci        RFC 3376, October 2002.
225853a5a1b3Sopenharmony_ci
225953a5a1b3Sopenharmony_ci13. Current Locations of Related Resources
226053a5a1b3Sopenharmony_ci
226153a5a1b3Sopenharmony_ci   Note:  Several sections below refer to the ITU-T Software Tool
226253a5a1b3Sopenharmony_ci   Library (STL).  It is available from the ITU Sales Service, Place des
226353a5a1b3Sopenharmony_ci   Nations, CH-1211 Geneve 20, Switzerland (also check
226453a5a1b3Sopenharmony_ci   http://www.itu.int).  The ITU-T STL is covered by a license defined
226553a5a1b3Sopenharmony_ci   in ITU-T Recommendation G.191, "Software tools for speech and audio
226653a5a1b3Sopenharmony_ci   coding standardization".
226753a5a1b3Sopenharmony_ci
226853a5a1b3Sopenharmony_ci   DVI4
226953a5a1b3Sopenharmony_ci
227053a5a1b3Sopenharmony_ci   An archived copy of the document IMA Recommended Practices for
227153a5a1b3Sopenharmony_ci   Enhancing Digital Audio Compatibility in Multimedia Systems (version
227253a5a1b3Sopenharmony_ci   3.0), which describes the IMA ADPCM algorithm, is available at:
227353a5a1b3Sopenharmony_ci
227453a5a1b3Sopenharmony_ci      http://www.cs.columbia.edu/~hgs/audio/dvi/
227553a5a1b3Sopenharmony_ci
227653a5a1b3Sopenharmony_ci   An implementation is available from Jack Jansen at
227753a5a1b3Sopenharmony_ci
227853a5a1b3Sopenharmony_ci      ftp://ftp.cwi.nl/local/pub/audio/adpcm.shar
227953a5a1b3Sopenharmony_ci
228053a5a1b3Sopenharmony_ci   G722
228153a5a1b3Sopenharmony_ci
228253a5a1b3Sopenharmony_ci   An implementation of the G.722 algorithm is available as part of the
228353a5a1b3Sopenharmony_ci   ITU-T STL, described above.
228453a5a1b3Sopenharmony_ci
228553a5a1b3Sopenharmony_ci   G723
228653a5a1b3Sopenharmony_ci
228753a5a1b3Sopenharmony_ci   The reference C code implementation defining the G.723.1 algorithm
228853a5a1b3Sopenharmony_ci   and its Annexes A, B, and C are available as an integral part of
228953a5a1b3Sopenharmony_ci   Recommendation G.723.1 from the ITU Sales Service, address listed
229053a5a1b3Sopenharmony_ci   above.  Both the algorithm and C code are covered by a specific
229153a5a1b3Sopenharmony_ci   license.  The ITU-T Secretariat should be contacted to obtain such
229253a5a1b3Sopenharmony_ci   licensing information.
229353a5a1b3Sopenharmony_ci
229453a5a1b3Sopenharmony_ci
229553a5a1b3Sopenharmony_ci
229653a5a1b3Sopenharmony_ci
229753a5a1b3Sopenharmony_ci
229853a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 41]
229953a5a1b3Sopenharmony_ci
230053a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
230153a5a1b3Sopenharmony_ci
230253a5a1b3Sopenharmony_ci
230353a5a1b3Sopenharmony_ci   G726
230453a5a1b3Sopenharmony_ci
230553a5a1b3Sopenharmony_ci   G726 is specified in the ITU-T Recommendation G.726, "40, 32, 24, and
230653a5a1b3Sopenharmony_ci   16 kb/s Adaptive Differential Pulse Code Modulation (ADPCM)".  An
230753a5a1b3Sopenharmony_ci   implementation of the G.726 algorithm is available as part of the
230853a5a1b3Sopenharmony_ci   ITU-T STL, described above.
230953a5a1b3Sopenharmony_ci
231053a5a1b3Sopenharmony_ci   G729
231153a5a1b3Sopenharmony_ci
231253a5a1b3Sopenharmony_ci   The reference C code implementation defining the G.729 algorithm and
231353a5a1b3Sopenharmony_ci   its Annexes A through I are available as an integral part of
231453a5a1b3Sopenharmony_ci   Recommendation G.729 from the ITU Sales Service, listed above.  Annex
231553a5a1b3Sopenharmony_ci   I contains the integrated C source code for all G.729 operating
231653a5a1b3Sopenharmony_ci   modes.  The G.729 algorithm and associated C code are covered by a
231753a5a1b3Sopenharmony_ci   specific license.  The contact information for obtaining the license
231853a5a1b3Sopenharmony_ci   is available from the ITU-T Secretariat.
231953a5a1b3Sopenharmony_ci
232053a5a1b3Sopenharmony_ci   GSM
232153a5a1b3Sopenharmony_ci
232253a5a1b3Sopenharmony_ci   A reference implementation was written by Carsten Bormann and Jutta
232353a5a1b3Sopenharmony_ci   Degener (then at TU Berlin, Germany).  It is available at
232453a5a1b3Sopenharmony_ci
232553a5a1b3Sopenharmony_ci      http://www.dmn.tzi.org/software/gsm/
232653a5a1b3Sopenharmony_ci
232753a5a1b3Sopenharmony_ci   Although the RPE-LTP algorithm is not an ITU-T standard, there is a C
232853a5a1b3Sopenharmony_ci   code implementation of the RPE-LTP algorithm available as part of the
232953a5a1b3Sopenharmony_ci   ITU-T STL.  The STL implementation is an adaptation of the TU Berlin
233053a5a1b3Sopenharmony_ci   version.
233153a5a1b3Sopenharmony_ci
233253a5a1b3Sopenharmony_ci   LPC
233353a5a1b3Sopenharmony_ci
233453a5a1b3Sopenharmony_ci   An implementation is available at
233553a5a1b3Sopenharmony_ci
233653a5a1b3Sopenharmony_ci      ftp://parcftp.xerox.com/pub/net-research/lpc.tar.Z
233753a5a1b3Sopenharmony_ci
233853a5a1b3Sopenharmony_ci   PCMU, PCMA
233953a5a1b3Sopenharmony_ci
234053a5a1b3Sopenharmony_ci   An implementation of these algorithms is available as part of the
234153a5a1b3Sopenharmony_ci   ITU-T STL, described above.
234253a5a1b3Sopenharmony_ci
234353a5a1b3Sopenharmony_ci14. Acknowledgments
234453a5a1b3Sopenharmony_ci
234553a5a1b3Sopenharmony_ci   The comments and careful review of Simao Campos, Richard Cox and AVT
234653a5a1b3Sopenharmony_ci   Working Group participants are gratefully acknowledged.  The GSM
234753a5a1b3Sopenharmony_ci   description was adopted from the IMTC Voice over IP Forum Service
234853a5a1b3Sopenharmony_ci   Interoperability Implementation Agreement (January 1997).  Fred Burg
234953a5a1b3Sopenharmony_ci   and Terry Lyons helped with the G.729 description.
235053a5a1b3Sopenharmony_ci
235153a5a1b3Sopenharmony_ci
235253a5a1b3Sopenharmony_ci
235353a5a1b3Sopenharmony_ci
235453a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 42]
235553a5a1b3Sopenharmony_ci
235653a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
235753a5a1b3Sopenharmony_ci
235853a5a1b3Sopenharmony_ci
235953a5a1b3Sopenharmony_ci15. Intellectual Property Rights Statement
236053a5a1b3Sopenharmony_ci
236153a5a1b3Sopenharmony_ci   The IETF takes no position regarding the validity or scope of any
236253a5a1b3Sopenharmony_ci   intellectual property or other rights that might be claimed to
236353a5a1b3Sopenharmony_ci   pertain to the implementation or use of the technology described in
236453a5a1b3Sopenharmony_ci   this document or the extent to which any license under such rights
236553a5a1b3Sopenharmony_ci   might or might not be available; neither does it represent that it
236653a5a1b3Sopenharmony_ci   has made any effort to identify any such rights.  Information on the
236753a5a1b3Sopenharmony_ci   IETF's procedures with respect to rights in standards-track and
236853a5a1b3Sopenharmony_ci   standards-related documentation can be found in BCP-11.  Copies of
236953a5a1b3Sopenharmony_ci   claims of rights made available for publication and any assurances of
237053a5a1b3Sopenharmony_ci   licenses to be made available, or the result of an attempt made to
237153a5a1b3Sopenharmony_ci   obtain a general license or permission for the use of such
237253a5a1b3Sopenharmony_ci   proprietary rights by implementors or users of this specification can
237353a5a1b3Sopenharmony_ci   be obtained from the IETF Secretariat.
237453a5a1b3Sopenharmony_ci
237553a5a1b3Sopenharmony_ci   The IETF invites any interested party to bring to its attention any
237653a5a1b3Sopenharmony_ci   copyrights, patents or patent applications, or other proprietary
237753a5a1b3Sopenharmony_ci   rights which may cover technology that may be required to practice
237853a5a1b3Sopenharmony_ci   this standard.  Please address the information to the IETF Executive
237953a5a1b3Sopenharmony_ci   Director.
238053a5a1b3Sopenharmony_ci
238153a5a1b3Sopenharmony_ci16. Authors' Addresses
238253a5a1b3Sopenharmony_ci
238353a5a1b3Sopenharmony_ci   Henning Schulzrinne
238453a5a1b3Sopenharmony_ci   Department of Computer Science
238553a5a1b3Sopenharmony_ci   Columbia University
238653a5a1b3Sopenharmony_ci   1214 Amsterdam Avenue
238753a5a1b3Sopenharmony_ci   New York, NY 10027
238853a5a1b3Sopenharmony_ci   United States
238953a5a1b3Sopenharmony_ci
239053a5a1b3Sopenharmony_ci   EMail: schulzrinne@cs.columbia.edu
239153a5a1b3Sopenharmony_ci
239253a5a1b3Sopenharmony_ci
239353a5a1b3Sopenharmony_ci   Stephen L. Casner
239453a5a1b3Sopenharmony_ci   Packet Design
239553a5a1b3Sopenharmony_ci   3400 Hillview Avenue, Building 3
239653a5a1b3Sopenharmony_ci   Palo Alto, CA 94304
239753a5a1b3Sopenharmony_ci   United States
239853a5a1b3Sopenharmony_ci
239953a5a1b3Sopenharmony_ci   EMail: casner@acm.org
240053a5a1b3Sopenharmony_ci
240153a5a1b3Sopenharmony_ci
240253a5a1b3Sopenharmony_ci
240353a5a1b3Sopenharmony_ci
240453a5a1b3Sopenharmony_ci
240553a5a1b3Sopenharmony_ci
240653a5a1b3Sopenharmony_ci
240753a5a1b3Sopenharmony_ci
240853a5a1b3Sopenharmony_ci
240953a5a1b3Sopenharmony_ci
241053a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 43]
241153a5a1b3Sopenharmony_ci
241253a5a1b3Sopenharmony_ciRFC 3551                    RTP A/V Profile                    July 2003
241353a5a1b3Sopenharmony_ci
241453a5a1b3Sopenharmony_ci
241553a5a1b3Sopenharmony_ci17. Full Copyright Statement
241653a5a1b3Sopenharmony_ci
241753a5a1b3Sopenharmony_ci   Copyright (C) The Internet Society (2003).  All Rights Reserved.
241853a5a1b3Sopenharmony_ci
241953a5a1b3Sopenharmony_ci   This document and translations of it may be copied and furnished to
242053a5a1b3Sopenharmony_ci   others, and derivative works that comment on or otherwise explain it
242153a5a1b3Sopenharmony_ci   or assist in its implementation may be prepared, copied, published
242253a5a1b3Sopenharmony_ci   and distributed, in whole or in part, without restriction of any
242353a5a1b3Sopenharmony_ci   kind, provided that the above copyright notice and this paragraph are
242453a5a1b3Sopenharmony_ci   included on all such copies and derivative works.  However, this
242553a5a1b3Sopenharmony_ci   document itself may not be modified in any way, such as by removing
242653a5a1b3Sopenharmony_ci   the copyright notice or references to the Internet Society or other
242753a5a1b3Sopenharmony_ci   Internet organizations, except as needed for the purpose of
242853a5a1b3Sopenharmony_ci   developing Internet standards in which case the procedures for
242953a5a1b3Sopenharmony_ci   copyrights defined in the Internet Standards process must be
243053a5a1b3Sopenharmony_ci   followed, or as required to translate it into languages other than
243153a5a1b3Sopenharmony_ci   English.
243253a5a1b3Sopenharmony_ci
243353a5a1b3Sopenharmony_ci   The limited permissions granted above are perpetual and will not be
243453a5a1b3Sopenharmony_ci   revoked by the Internet Society or its successors or assigns.
243553a5a1b3Sopenharmony_ci
243653a5a1b3Sopenharmony_ci   This document and the information contained herein is provided on an
243753a5a1b3Sopenharmony_ci   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
243853a5a1b3Sopenharmony_ci   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
243953a5a1b3Sopenharmony_ci   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
244053a5a1b3Sopenharmony_ci   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
244153a5a1b3Sopenharmony_ci   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
244253a5a1b3Sopenharmony_ci
244353a5a1b3Sopenharmony_ciAcknowledgement
244453a5a1b3Sopenharmony_ci
244553a5a1b3Sopenharmony_ci   Funding for the RFC Editor function is currently provided by the
244653a5a1b3Sopenharmony_ci   Internet Society.
244753a5a1b3Sopenharmony_ci
244853a5a1b3Sopenharmony_ci
244953a5a1b3Sopenharmony_ci
245053a5a1b3Sopenharmony_ci
245153a5a1b3Sopenharmony_ci
245253a5a1b3Sopenharmony_ci
245353a5a1b3Sopenharmony_ci
245453a5a1b3Sopenharmony_ci
245553a5a1b3Sopenharmony_ci
245653a5a1b3Sopenharmony_ci
245753a5a1b3Sopenharmony_ci
245853a5a1b3Sopenharmony_ci
245953a5a1b3Sopenharmony_ci
246053a5a1b3Sopenharmony_ci
246153a5a1b3Sopenharmony_ci
246253a5a1b3Sopenharmony_ci
246353a5a1b3Sopenharmony_ci
246453a5a1b3Sopenharmony_ci
246553a5a1b3Sopenharmony_ci
246653a5a1b3Sopenharmony_ciSchulzrinne & Casner        Standards Track                    [Page 44]
246753a5a1b3Sopenharmony_ci
2468