RTP Payload Format for ITU-T Recommendation G.722.1
RFC 3047

Document Type RFC - Proposed Standard (January 2001; Errata)
Obsoleted by RFC 5577
Author Patrick Luthi 
Last updated 2020-01-21
Stream IETF
Formats plain text html pdf htmlized with errata bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 3047 (Proposed Standard)
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                           P. Luthi
Request for Comments: 3047                                    PictureTel
Category: Standards Track                                   January 2001

          RTP Payload Format for ITU-T Recommendation G.722.1

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2001).  All Rights Reserved.


   International Telecommunication Union (ITU-T) Recommendation G.722.1
   is a wide-band audio codec, which operates at one of two selectable
   bit rates, 24kbit/s or 32kbit/s.  This document describes the payload
   format for including G.722.1 generated bit streams within an RTP
   packet.  Also included here are the necessary details for the use of
   G.722.1 with MIME and SDP.

1. Conventions used in this document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   document are to be interpreted as described in RFC-2119 [6].

2. Overview of ITU-T Recommendation G.722.1

   G.722.1 is a low complexity coder, it compresses 50Hz - 7kHz audio
   signals into one of two bit rates, 24 kbit/s or 32 kbit/s.

   The coder may be used for speech, music and other types of audio.

   Some of the applications for which this coder is suitable are:

   o  Real-time communications such as videoconferencing and telephony.
   o  Streaming audio
   o  Archival and messaging

Luthi                       Standards Track                     [Page 1]
RFC 3047                 Payload Format G.722.1             January 2001

   A fixed frame size of 20 ms is used, and for any given bit rate the
   number of bits in a frame is a constant.

3. RTP payload format for G.722.1

   G.722.1 uses 20 ms frames and a sampling rate clock of 16 kHz, so the
   RTP timestamp MUST be in units of 1/16000 of a second.  The RTP
   payload for G.722.1 has the format shown in Figure 1.  No additional
   header specific to this payload format is required.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      |                      RTP Header [3]                           |
      |                                                               |
      +                 one or more frames of G.722.1                 |
      |                             ....                              |

                     Figure 1: RTP payload for G.722.1

   The encoding and decoding algorithm can change the bit rate at any
   20ms frame boundary, but no bit rate change notification is provided
   in-band with the bit stream.  Therefore, a separate out-of-band
   method is REQUIRED to indicate the bit rate (see section 6 for an
   example of signaling bit rate information using SDP).  For the
   payload format specified here, the bit rate MUST remain constant for
   a particular payload type value.  An application MAY switch bit rates
   from packet to packet by defining two payload type values and
   switching between them.

   The assignment of an RTP payload type for this new packet format is
   outside the scope of this document, and will not be specified here.
   It is expected that the RTP profile for a particular class of
   applications will assign a payload type for this encoding, or if that
   is not done then a payload type in the dynamic range shall be chosen.

   The number of bits within a frame is fixed, and within this fixed
   frame G.722.1 uses variable length coding (e.g., Huffman coding) to
   represent most of the encoded parameters [2].  All variable length
   codes are transmitted in order from the left most (most significant -
   MSB) bit to the right most (least significant - LSB) bit, see [2] for
   more details.

   The use of Huffman coding means that it is not possible to identify
   the various encoded parameters/fields contained within the bit stream
   without first completely decoding the entire frame.

Luthi                       Standards Track                     [Page 2]
RFC 3047                 Payload Format G.722.1             January 2001

   For the purposes of packetizing the bit stream in RTP, it is only
   necessary to consider the sequence of bits as output by the G.722.1
   encoder, and present the same sequence to the decoder.  The payload
   format described here maintains this sequence.
Show full document text