G.722

AUDIO CODER

16 kHz sampled audio signals for transmission over 48, 56, and 64 kbps channels

Global Telecom Business

Features List

  • 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

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

Availability

PlatformsG.722G.722 with PLCG.722 AnnexIV
Arm ® Devices – Armv7-A Cortex-A8 / A9 / A15, | Cortex-M3 / M4 / M7 || Armv8-A Cortex-A53/A57 || Legacy ARM9ECortex-A8/A9/A15 || Cortex-M3 / M4 || Legacy ARM9E /11Cortex-A8/A9/A15 | Cortex-A53/A57 || Cortex-M3 / M4 || Legacy ARM9E /11Cortex-A8/A9/A15 | Cortex-A53/A57 || Cortex-M3 / M4 || Legacy 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-bitLinux 32-bitLinux 32-bit

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

Specifications

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 Cortex-A8 / A9 / A15 | Cortex-M3 / M4

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS Cortex-M3 / M4MIPS Cortex- A8 / A9 / A15Program MemoryData MemoryPer Channel Data MemoryScratch Memory
G.722 Encode12.45.9
6996
1284146624
G.722 Decode11.35.3624

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

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPSProgram 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.
FunctionMIPSProgram 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 with PLC Cortex-M3 / M4

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPSProgram MemoryData MemoryPer Channel Data Memory
G.722 Encode16.1
30 K
1.5 K288
G.722 Decode15.2288
G.722 Decode w/ PLC Enable22.34248

* 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-M3 / M4

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPSProgram 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 ARM9e / ARM11

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
DeviceMIPSProgram 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.
FunctionMIPSProgram 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.
FunctionMIPSProgram 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.
FunctionMIPSProgram 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.
DeviceMIPSProgram 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.
DeviceMIPSProgram 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.
FunctionMIPSProgram MemoryData MemoryPer Channel Data Memory
Encode7.5143865480
Decode6.480

G.722 with PLC Win DLL

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPSProgram 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

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

G.722 with PLC WIN Static Lib

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPSProgram 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

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

G.722 Annex IV WIN32 – DLL or Static Library

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

31 K
18 K288
G.722 Decode12.9288
G.722 Decode w/ PLC Enable13.32020

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

G.722 with PLC i686

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPSProgram 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

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

G.722 Annex IV i686

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPSProgram 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

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

Description

The Adaptive Digital Technologies G.722 Audio Coder is a real-time implementation of the ITU G.722 audio coder. 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 audio coder encodes 16 kHz sampled audio signals for transmission over 48, 56, and 64 kbps channels, and provides 7 k Hz of audio bandwidth. Adaptive Digital’s G.722PLC is a high quality low-complexity proprietary algorithm for packet loss concealment with G.722. G.722 on TI’s C55x™DSP, and ARM devices support an optional Packet Loss Concealment (PLC) features on the decoder side. We also offer a PLC algorithm compliant to the G.722 Appendix IV Standard. Adaptive Digital’s implementation of G.722 includes a proprietary VAD/CNG/DTX (Voice Activity Detection, Comfort Noise Generation / Discontinuous Transmission) feature. While many VoIP and wireless codecs include this type of functionality as part of the standard, G.722 does not. Adaptive Digital therefore implemented a proprietary implementation that is voice-quality-optimized for the G.722 codec. Adaptive Digital plans to make this available on other platforms in the near future. 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.

Function APIs

API function call summary

ResetG722 ()

EncodeG722 ()

DecodeG722  ()

Initializes the G.722 audio coder Channel structures

Executes the G.722 encoder

Executes the G.722 decoder

Translate »