G.722 | G.722 PLC HD Codec

G.722 PLC - ITU Audio Codec with Packet Loss Concealment

Adaptive Digital’s G.722 codec delivers HD wideband audio with advanced packet loss concealment, a proprietary VAD/CNG/DTX – (Voice Activity Detection, Comfort Noise Generation / Discontinuous Transmission) support for VoIP, video conferencing, IP telephony, and telecom applications.

Coding Rate: 48, 56, or 64 kbps, and 23.85 kbps
Sampling Rate: 16 kHz
Delay: 125 microseconds

Platforms

Availability

PlatformsG.722G.722 with PLCG.722 AnnexIV
Arm ® Devices – Armv7-A / Armv8-A || Armv7-M / Armv8-M || Legacy M3, ARM9E Armv7-A / Armv8-A || Armv7-M / Armv8-M || Legacy M3, ARM9E /11Armv7-A / Armv8-A || Armv7-M / Armv8-M || Legacy M3, ARM9E /11Armv7-A / Armv8-A || Armv7-M / Armv8-M || Legacy M3/ARM9E /11
Texas Instruments – TI TMS320C6000 C64x/C64x+/C66x, C674x, TMS320C5000 C55x / C54xC674x / C64x / C55x / C54x——
Windows x86 (32-bit) / x64 (64-bit)—Win 32-bit LIB / DLLWin 32-bit LIB / DLL
Linux 32-bit / 64-bit —Linux 32-bit Linux 32-bit

ADT G.722 is available on the above Platforms: Other configurations are available upon request.

Features

  • Functions are C-callable.
  • Multi-channel capable
  • Can be integrated with echo cancellers, VOX and tone detection/regeneration.
  • Can be integrated with G.711/G.728 to provide the audio portion of the H.320 video standard.
  • The encoder and decoder meet all ITU G.722 compliance data files.
  • C55x and ARM – Optional Packet Loss Concealment (PLC): Proprietary technique developed by Adaptive Digital.
  • ARM, Win32, and i686 – Optional PLC compliant to G.722 Appendix IV Standard

Description

G.722 Wideband Audio Codec

Adaptive Digital’s G.722 codec is a high-performance implementation of the ITU-T G.722 wideband audio standard, delivering crystal-clear voice and audio quality for modern communication systems. Supporting 16 kHz sampled audio and transmission rates of 48, 56, and 64 kbps, G.722 provides up to 7 kHz audio bandwidth, making it ideal for VoIP, video conferencing, unified communications, multimedia applications, and professional speakerphone systems.

To enhance call quality in packet-based networks, Adaptive Digital offers advanced Packet Loss Concealment (PLC) technologies, including a proprietary low-complexity G.722PLC solution and support for ITU-T G.722 Appendix IV* packet loss concealment. These features help maintain natural-sounding audio by minimizing the impact of lost or corrupted packets.

Adaptive Digital’s implementation also includes proprietary Voice Activity Detection (VAD), Comfort Noise Generation (CNG), and Discontinuous Transmission (DTX) capabilities. These enhancements reduce network bandwidth requirements while maintaining excellent voice quality, making the codec well-suited for bandwidth-sensitive VoIP and wireless communication environments.

Key Benefits

  • ITU-T G.722 compliant wideband audio codec
  • Up to 7 kHz audio bandwidth for HD voice quality
  • Supports 48, 56, and 64 kbps operation
  • Advanced Packet Loss Concealment (PLC) technology
  • Optional ITU-T G.722 Appendix IV PLC support
  • Integrated VAD, CNG, and DTX functionality
  • Optimized for VoIP, video conferencing, and IP telephony
  • Low-complexity implementation for DSP and embedded platforms
  • Enhanced audio clarity and speech intelligibility

* In Appendix IV, the decoder comprises three stages: lower sub-band decoding, higher sub-band decoding and quadrature mirror filter (QMF) synthesis. In the absence of frame erasures, the decoder structure is identical to ITU-T G.722, except for the storage of the two decoded signals, of the higher and lower sub-bands. In case of frame erasures, the decoder is informed by the bad frame indication (BFI) signalling. It then performs an analysis of the past lower-band reconstructed signal and extrapolates the missing signal using linear predictive coding (LPC), pitch-synchronous period repetition and adaptive muting. Once a good frame is received, the decoded signal is cross-faded with the extrapolated signal. In the higher sub-band, the decoder repeats the previous frame pitch synchronously, with adaptive muting and high pass post-processing. The adaptive differential pulse code modulation (ADPCM) states are updated after each frame erasure.

Specification Tables

NOTE: We specify MIPS (Millions of Instructions Per Second) as MCPS (Millions of Instruction Cycles Per Second). Unless otherwise specified, peak MIPS are indicated.

G.722 Armv9-A Neoverse N2

CPU Utilization
The ARM Neoverse is a group of 64-bit ARM processor cores.
FunctionMIPS
G.722 Encode/Decode2.6
 

G.722 Armv8-A Cortex-A53 / A72

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Cortex- A53MIPS Cortex-A72Program MemoryData MemoryPer Channel Data Memory
G.722 Encode/Decode5.73.87k2k150

G.722 Armv7A Cortex-A8 / A9 / A15 / A17

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Cortex- A8 / A9 / A15Program MemoryData MemoryPer Channel Data MemoryScratch Memory
G.722 Encode6.169961284146624
G.722 Decode5.4624

G.722 with PLC Armv7A Cortex-A8 / A9 / A15 / A17

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Program MemoryData MemoryPer Channel Data Memory
G.722 Encode13.5

42 K
7.6 K288
G.722 Decode7.4288
G.722 Decode w/ PLC Enable11.14248

G.722 Annex IV Cortex-A8 / A9 / A15 / A17

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Program MemoryData MemoryPer Channel Data Memory
G.722 Encode13.5

43 K
7.7 K288
G.722 Decode7.4288
G.722 Decode w/ PLC Enable11.12020

G.722 Cortex-M4

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Cortex-M4Program MemoryData MemoryPer Channel Data MemoryScratch Memory
G.722 Encode13.469961284146624
G.722 Decode13.0624

G.722 with PLC Cortex-M4

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Program MemoryData MemoryPer Channel Data Memory
G.722 Encode16.130 K1.5 K288
G.722 Decode15.2288
G.722 Decode w/ PLC Enable22.34248

G.722 with PLC Cortex-M33/M35 – estimate

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Program MemoryData MemoryPer Channel Data Memory
G.722 Encode12.930 K1.5 K288
G.722 Decode12.2288
G.722 Decode w/ PLC Enable17.84248

* Adaptive Digital’s G.722 ARM-Cortex-A device family version also has optional packet loss concealment (PLC) plus a proprietary   VAD/CNG/DTX feature.

G.722 Annex IV Cortex-M4

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Program MemoryData MemoryPer Channel Data Memory
G.722 Encode16.1
30 K
1.7 K288
G.722 Decode15.2288
G.722 Decode w/ PLC Enable21.32020

G.722 Annex IV Cortex-M33/M35 – estimate

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Program MemoryData MemoryPer Channel Data Memory
G.722 Encode12.930 K1.7 K288
G.722 Decode12.2288
G.722 Decode w/ PLC Enable172020

G.722 ARM9e / ARM11 Legacy

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
Device MIPS Program MemoryData MemoryPer Channel Data Memory
ARM9e25.55.3 K1.3 K292
ARM1141.45.3 K292

G.722 with PLC ARM9e / ARM11

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Program MemoryData MemoryPer Channel Data Memory
G.722 Encode11.3
34 K
7.6 K288
G.722 Decode11288
G.722 Decode w/ PLC Enable16.94248

*PLC Decode MIPS measurement taken with simulated 2% packet loss.

G.722 Annex IV ARM9e / ARM11

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Program MemoryData MemoryPer Channel Data Memory
G.722 Encode11.3

58 K
7.7 K288
G.722 Decode11288
G.722 Decode w/ PLC Enable16.92020

G.722 C64x / C64x+ / C66x / C674x

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Program MemoryData MemoryPer Channel Data Memory
G.722 Encode5.347681426192
G.722 Decode4.8

G.722 C64x / C64x+ Variant

PROCESSES 2 CHANNELS SIMULTANEOUSLY THEREBY BY REDUCING THE PER CHANNEL MIPS BY A FACTOR OF 2
CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
Device MIPS Program MemoryData MemoryPer Channel Data Memory
Encode Variant2.8480001664364
Decode Variant2.36

 Variant *Note:  Above numbers for non-cached.  After caching, cycle count will improve.

G.722 C55x

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
Device MIPS Program MemoryData MemoryPer Channel Data Memory
Encode6.027171212164
Decode4.8164
Decode with PLC* enable5.538116093528

  *Note: Proprietary technique developed by Adaptive Digital.

G.722 C54x

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Program MemoryData MemoryPer Channel Data Memory
Encode7.5143865480
Decode6.480

G.722 Annex IV i686

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Program MemoryData MemoryPer Channel Data Memory
G.722 Encode10.8

51 K
7.7 K288
G.722 Decode10.5288
G.722 Decode w/ PLC Enable10.82020

G.722 with PLC i686

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Program MemoryData MemoryPer Channel Data Memory
G.722 Encode11.2

27 K
7.6 K288
G.722 Decode11.2288
G.722 Decode w/ PLC* Enable13.94248

G.722 with PLC Win DLL

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Program MemoryData MemoryPer Channel Data Memory
G.722 Encode14.5

12 K
9.3 K288
G.722 Decode12.9288
G.722 Decode w/ PLC Enable14.94248

G.722 with PLC WIN Static Lib

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Program MemoryData MemoryPer Channel Data Memory
G.722 Encode13.9

12 K
9.3 K288
G.722 Decode12.9288
G.722 Decode w/ PLC Enable14.94248

API Functions

API function call summary

ResetG722 ()Initializes the G.722 audio coder Channel structures

EncodeG722 () Executes the G.722 encoder

DecodeG722 () Executes the G.722 decoder

Translate »