The G.722.1 audio codec is used with applications that require audio frequency bandwidth coding such as video conferencing, and speaker/microphone digital telephony.
The G.722.1 algorithm is based on a transform technology known as the Modulated Lapped Transform (MLT).

search our site

arm

G.722.1 voice compression software

G.722.1 Wideband integrated into VoIP Engine base set: Crystal clear voice, call for demo...now included in the iPVoice test software app store demo!

Give us a listen!

Contact us
  for more information



G.722.1 Voice Compression Algorithm

G.722.1 audio coder encodes 16, and 32khz sampled audio signals for transmission over 16, 24, 32 and 48 kbps channels.

FEATURES

  1. Functions are C-callable
  2. Multi -Channel Implementation.
  3. Completely re-entrant (Channel can interrupt any Channel, any time)
  4. Can be integrated with echo cancellers, VOX and tone detection/regeneration.
  5. The encoder and decoder meet all ITU G.722.1 compliance data files.
  6. Includes Frame Loss Concealment Algorithm

AVAILABILITY

ADT G.722.1 is available off the shelf on the following Platforms: Other configurations are available upon request.

Platform
ARM Cortex A8
ARM Cortex A9
ARM Cortex A15
ARM Cortex M3
ARM Cortex M4

SPECIFICATIONS


ARM® DEVICES

G.722.1 ARM Cortex-A8/A9/A15

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of 16-bit word.
Function 32khz (Annex C) (MIPS) 16khz (MIPS) Memory (bytes)
48kbps 32kbps 24kbps 32kbps 24kbps 16kbps Program Data Scratch
Encode 19 18 15.5 10 9 9 -- -- --
Decode 19.5 18 16 9.5 8.5 8 -- -- --
Encode/Decode 38.5 36 31.5 19.5 19.5 17 46544 31450 6400

* With annex “C” defined.

PER CHANNEL MEMORY REQUIREMENTS
All Memory usage is given in units of 16-bit word.
G.722.1 Mode Encoder Decoder
Wideband (16Hz) 656 1344
Ultra-Wideband (32Hz) 1296 2624


G.722.1 ARM Cortex-M3/M4

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of 16-bit word.
Function MIPS Program Memory Data Memory Per-Channel Data Memory
Coding Rate
24 32
Encode 28.2 28.9 -- -- 648
Decode 27.1 28.1 -- -- 1312
Encode/Decode 55.3 57.0 28318 20718 1950

DESCRIPTION

The Adaptive Digital Technologies G.722.1 Audio Coder is an implementation of the ITU G.722.1 standard. ADT’s G.722.1 coder is a high quality low-complexity algorithm that provides an audio bandwidth of 50Hz to 7kHz (to 14khz with Annex C), operating at a bit rate of 48 kbps (Annex C), 24 kbit/s or 32 kbit/s or 16 kbit/s (Not available in Annex C).  This algorithm is recommended for use in hands-free applications such as conferencing where there is a low probability of frame loss.  It is used with many applications that require audio frequency bandwidth coding such as video conferencing, multimedia, and speaker/microphone digital telephony. The G.722.1 audio coder encodes 16 kHz and 32khz sampled audio signals for transmission over 16, 24, 32 and 48 kbps channels, and provides 7 kHz /14khz of audio bandwidth.

G.722.1 OVERVIEW

The ITU-T G.722.1 recommendation is a wideband, audio coding algorithm that can be utilized for services such as video conferencing, teleconferencing, and Internet streaming applications. The recommendation is capable of providing an audio bandwidth of 50 Hz to 7 kHz with Annex C extending the maximum bandwidth to 14 kHz. At the current time, the ITU is studying the G.722.1 FB extension, which would increase the maximum bandwidth to 20 kHz and therefore, provide high-definition audio. The baseline and Annex C flavors of G.722.1 are capable of operating at bit rates of 24 Kbits/s and 32 Kbits/s with the Annex C (14 kHz) extension capable of operating at 48 Kbits/s.

The G.722.1 algorithm is based on a transform technology known as the Modulated Lapped Transform (MLT). It is a critically sampled, perfect reconstruction, linear transform. For a period of 20 ms and a maximum bandwidth of 7 kHz, 640 time domain samples are loaded into the MLT and the result is a frame of 320 transform coefficients. These coefficients are then used by the algorithm to compute a quantized amplitude envelope, which is divided into fourteen regions and is a rough representation of the MLT spectrum. With only a set number of bits available to a frame (based on the bit rate), any remaining bits after the quantization and coding of the amplitude envelope are then used to encode the transform coefficients in the categorization procedure of the algorithm.

The categorization procedure determines the step-sizes for the quantization of the MLT coefficients and in addition, assigns a category to each of the fourteen regions in the frame. The purpose of assigning a category is to determine the quantization and coding parameters as well as the expected number of bits it will take to effectively represent the quantized transform coefficients in each region. Out of the sixteen possible categorizations sets that are computed within the algorithm, only one will be selected for transmission.

With the number of available bits fixed for a frame (depending on the bit rate), the frame will consist of the amplitude envelope bits, the categorization control bits, and the MLT coefficient bits. It is the decoder’s task to parse through these bits and determine the amplitude envelope, what category the MLT coefficients were assigned to, and lastly, the values of the quantized MLT coefficients. An inverse MLT is utilized to convert the 320 transform coefficients to 320 time domain audio samples.

The G.722.1 recommendation has three annexes that have been approved and one that is under study by the ITU. Annex A discusses the format of a frame packet, which was explained in the previous paragraph. In addition, this annex defines the capability identifiers and parameters for both the baseline and extended modes of G.722.1. Annex B focuses on the floating-point implementation of G.722.1. This annex states that it is similar to the fixed-point implementation found within the baseline explanation. As stated previously, Annex C extends the maximum bandwidth to 14 kHz by doubling the sample rate (from 16 to 32 kHz), the samples per frame (320 to 640), and the transform window (640 to 1280). Lastly, Annex FB could involve increasing the sample rate, the samples per frame, the transform window, or some other modification not discussed in the G.722.1 recommendation.

Contributed by Ralph M. Alfano
College of Engineering - Senior Electrical Engineer
Villanova University
Click for Resume

  Data sheet .pdf  

Coding Rate: 16, 24 and 32, 48 kbps
Sampling Rate: 16 kHz, 32 kHz
Delay: 20 microseconds

API function call summary

ResetG722_1 (…) Initializes the G.722.1 audio coder Channel structures

EncodeG722_1 (…) Executes the G.722.1 encoder

DecodeG722_1 (…) Executes the G.722.1 decoder