G.722 HD Audio Codec / G.722PLC HD VoIP / G.722 Annex IV HD Voice Codec
G.722 is a wideband codec (within the family of ADPCM codecs). Adaptive Digital’s G.722PLC( ITU G.722 with Packet Loss Concealment) is a high quality low-complexity algorithm which optionally offers packet loss concealment (HD for VoIP) with the G.722 standard.
G722 is known as a wideband codec as opposed to g711 which is narrowband. G.722 does not require any more bandwidth than G711.
FEATURES
- Operates at 64, 56, or 48 Kbps.
- Supports wideband, bandwidth of 50 to 7000 Hz
- G.722 C55x™DSP & G.722 on ARM devices supports optional feature on the decoder side: Packet Loss Concealment.
- The G.722 C64x variant processes 2 channels simultaneously thereby reducing the per channel MIPS by a factor of 2.
- Functions are C-callable
- Multi -Channel Implementation.
- 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.
CLICK on tabs below for G.722 Variant Availability and Specifications.
G.722 AVAILABILITY
ADT G.722 is available off the shelf on the following Platforms: Other configurations are available upon request.
| ARM | TEXAS INSTRUMENTS |
| ARM Cortex A8 | TI TMS320C64x+ / C66x |
| ARM Cortex A9 | TI TMS320C674x |
| ARM Cortex A15 | TI TMS320C64x |
| ARM Cortex M3/M4 | TI TMS320C55x |
| ARM9E/ARM11 | TI TMS320C54x |
SPECIFICATIONS
TI TMS320C6000
G.722 C64x / C64x+ / C66x / C674x
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
| C64x Function | MIPS | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 5.3 | -- | -- | -- |
| Decode | 4.8 | -- | -- | -- |
| Encode/Decode | 10.1 | 4768 | 1426 | 192 |
G.722 C64x/C64x+ Variant
The G.722 C64x Variant processes 2 channels simultaneously thereby reducing the per channel MIPS by a factor of 2.
| Function | MIPS | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 2.84 | -- | -- | -- |
| Decode | 2.36 | -- | -- | -- |
| Encode/Decode | 10.1 | 8000 | 1664 | 364 |
TI TMS320C5000
G.722 C55x
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 6.0 | -- | -- | 164 |
| Decode | 4.8 | -- | -- | 164 |
| Encode/Decode | 10.8 | 2717 | 1212 | -- |
| Decode with PLC* enable | 5.5 | 3811 | 609 | 3528 |
*Note: Proprietary technique developed by Adaptive Digital.
G.722 C54x
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of 16-bit word.
| Function | MIPS | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 7.5 | -- | -- | 80 |
| Decode | 6.4 | -- | -- | 80 |
| Encode/Decode | 13.9 | 1438 | 654 | -- |
ARM DEVICES
G.722 ARM Cortex-M3/M4 / Cortex-A8/A9/A15
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
| Processor | MIPS M3/M4 |
MIPS A8/A9/A15* |
Program Memory | Data Memory | Per-Channel Data Memory |
| G.722 Encode | 12.4 | 5.9 | 6996 | 1284 | 146 |
| G.722 Decode | 11.3 | 5.3 |
* 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 ARM9E / ARM11
CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in bytes.
| Processor | MIPS | Program Memory | Data Memory | Per-Channel Data Memory |
| ARM9E | 25.5 | 5.3 k | 1.3 k | 292 |
| ARM11 | 41.4 | 5.2 k | 1.3 k | 292 |
G.722 with PLC AVAILABILITY
ADT G.722 is available off the shelf on the following Platforms: Other configurations are available upon request.
| WINDOWS | LINUX | TEXAS INSTRUMENTS |
| Win32 dll | ARM Cortex A8 / A9 / A15 |
| Win32 static lib | ARM Cortex M3 / M4 |
| I686 | ARM9E / ARM11 |
SPECIFICATIONS
ARM DEVICESG.722 with PLC ARM Cortex-A8/A9/A15
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
| Function | MIPS Cortex A-8/9/15 | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 13.5 | 42K | 7.6K | 288 |
| Decode | 7.4 | 288 | ||
| Decode with PLC* enable | 11.1 | 4248 |
* Adaptive Digital’s G.722 ARM-Cortex-A device family version also has optional proprietary VAD/CNG/DTX feature.
G.722 with PLC ARM Cortex-M3/M4
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
| Function | MIPS Cortex M-3/4 | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 11.3 | 29K | 7.6K | 288 |
| Decode | 11 | 288 | ||
| Decode with PLC* enable | 16.9 | 4248 |
G.722 with PLC ARM9E / ARM11
CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in bytes.
| Function | MIPS | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 11.3 | 34K | 7.6K | 288 |
| Decode | 11 | 288 | ||
| Decode with PLC* enable | 16.9 | 4248 |
We specify MIPS (Millions of Instructions Per Second) as MCPS (Millions of Instruction Cycles Per Second). Unless otherwise specified, peak MIPS are indicated.
*PLC Decode MIPS measurement taken with simulated 2% packet loss.
WINDOWS
G.722 with PLC G.722 Win DLL
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 14.5 | 12K | 9.3K | 288 |
| Decode | 12.9 | 288 | ||
| Decode with PLC* enable | 14.9 | 4248 |
*Note: Proprietary technique developed by Adaptive Digital.
G.722 with PLC G.722 Win Static Library
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 13.9 | 12K | 9.3K | 288 |
| Decode | 12.9 | 288 | ||
| Decode with PLC* enable | 14.9 | 4248 |
We specify MIPS (Millions of Instructions Per Second) as MCPS (Millions of Instruction Cycles Per Second). Unless otherwise specified, peak MIPS are indicated.
*PLC Decode MIPS measurement taken with simulated 2% packet loss.
LINUX
G.722 with PLC G.722 i686
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 14.5 | 12K | 9.3K | 288 |
| Decode | 12.9 | 288 | ||
| Decode with PLC* enable | 14.9 | 4248 |
We specify MIPS (Millions of Instructions Per Second) as MCPS (Millions of Instruction Cycles Per Second). Unless otherwise specified, peak MIPS are indicated.
*PLC Decode MIPS measurement taken with simulated 2% packet loss.
G.722 Annex IV AVAILABILITY
ADT G.722 Annex IV is available off the shelf on the following Platforms: Other configurations are available upon request.
| WINDOWS | LINUX | TEXAS INSTRUMENTS |
| Win32 dll | ARM Cortex A8 / A9 / A15 |
| Win32 static lib | ARM Cortex M3 / M4 |
| I686 | ARM9E / ARM11 |
SPECIFICATIONS
ARM DEVICESG.722 wAnnex IV ARM Cortex-A8/A9/A15
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
| Function | MIPS Cortex A-8/9/15 | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 13.5 | 43K | 7.7K | 288 |
| Decode | 7.4 | 288 | ||
| Decode Annex IV | 11.1 | 2020 |
* Adaptive Digital’s G.722 ARM-Cortex-A device family version also has optional proprietary VAD/CNG/DTX feature.
G.722 wAnnex IV ARM Cortex-M3/M4
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
| Function | MIPS Cortex M-3/4 | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 11.3 | 46K | 7.7K | 288 |
| Decode | 11 | 288 | ||
| Decode Annex IV | 16.9 | 2020 |
G.722 wAnnex IV ARM9E / ARM11
CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in bytes.
| Function | MIPS | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 11.3 | 58K | 7.7K | 288 |
| Decode | 11 | 288 | ||
| Decode Annex IV | 16.9 | 2020 |
We specify MIPS (Millions of Instructions Per Second) as MCPS (Millions of Instruction Cycles Per Second). Unless otherwise specified, peak MIPS are indicated.
*PLC Decode MIPS measurement taken with simulated 2% packet loss.
WINDOWS
G.722 wAnnex IV G.722 Win DLL
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 13.6 | 31K | 18K | 288 |
| Decode | 12.9 | 288 | ||
| Decode Annex IV | 13.3 | 2020 |
*Note: Proprietary technique developed by Adaptive Digital.
G.722 wAnnex IV G.722 Win Static Library
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 13.6 | 31K | 18K | 288 |
| Decode | 12.9 | 288 | ||
| Decode Annex IV | 13.3 | 2020 |
We specify MIPS (Millions of Instructions Per Second) as MCPS (Millions of Instruction Cycles Per Second). Unless otherwise specified, peak MIPS are indicated.
*PLC Decode MIPS measurement taken with simulated 2% packet loss.
LINUX
G.722 wAnnex IV G.722 i686
CPU UTILIZATION & MEMORY REQUIREMENTSAll Memory usage is given in units of byte.
| Function | MIPS | Program Memory | Data Memory | Per-Channel Data Memory |
| Encode | 10.8 | 51K | 7.7K | 288 |
| Decode | 10.5 | 288 | ||
| Decode Annex IV | 10.8 | 2020 |
We specify MIPS (Millions of Instructions Per Second) as MCPS (Millions of Instruction Cycles Per Second). Unless otherwise specified, peak MIPS are indicated.
*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 kHz of audio bandwidth.
Wideband codec: G.722
Traditional telecommunications technology has been limited to a sound spectrum much narrower than the range of the human voice. Typically, a digital telephone call mimics the lower quality of analog telecommunications technology by sampling an analog signal at rate of 8,000 samples per second. This is converted into sound in the range of approximately 200 Hz to 3.3 KHz.
The commonly used narrowband G.711 with typical bit-rates of 32 to 64 kbps. G.711 is the default pulse code modulation (PCM) standard for Internet Protocol (IP) private branch exchange (PBX) vendors, as well as for the public switched telephone network (PSTN). The diagrams on the right compare the G.722 wideband codec with the PSTN standard G.711 narrowband codec.
Wideband voice is based on 16,000 samples per second, which is double the rate of narrowband voice. The greater sampling rate capabilities of a wideband voice channel accounts for sound quality that is significantly richer and extended at both ends of the spectrum.
Wideband is referred to many as High Definition (HD) voice. The benefits of wideband speech come from the additional frequency range 50Hz to 200/300Hz. This additional space contributes to increased presence and comfort and a more natural conversation. The addition of the higher speech frequencies (3.4kHz to 7kHz) enhances speech comprehension by improving the ability to discern speech, for example, between 'p' and 't', 'm' and 'n', 's' and 'f'. Also there is increased ability to hear soft talkers and to understand double-talk.
It has been found that for voice applications, most of the benefit comes from extending the bandwidth to 50Hz at the low end and out to 7kHz at the high end. Additionally, 7kHz bandwidth codecs also offer a good balance of added quality versus increased complexity and therefore offer high channel counts for a given system.
Currently the most widely deployed wideband voice codecs are - G.722, G.722.2 (AMR-WB).
Please call and discuss your requirements - 610-825-0182 x120 sales
FUNCTION
ResetG722 (…) Initializes the G.722 audio coderChannel structures EncodeG722 (…) Executes the G.722 encoder
DecodeG722(…) Executes the G.722 decoder
