iLBC Speech Codec

internet Low Bitrate Codec

iLBC ia a high-complexity speech codec suitable for robust voice communication over IP.

World Connectivity

Features List

  • The only codec ever to be standardized by the IETF
  • Royalty-free with speech quality better than G.729A and G.723.1.
  • Better packet loss robustness compared to other low-bit rate codecs, including G.729A, G.729E, G.723.1 and G.728
  • iLBC supports multiple frame sizes giving increased flexibility to meet the needs of different applications and/or VoIP equipment
  • iLBC delivers the same basic quality as G.729E and exceeds G.729E under packet loss conditions

 ILBC DELIVERS SPEECH QUALITY BETTER THAN G.729A AND EQUAL TO G.729E, WHILE OFFERING SIGNIFICANTLY BETTER QUALITY OVER CONGESTED NETWORKS WITH PACKET LOSS.

Availability

Platforms
Arm ® Devices Armv7-A / Armv8-A / Armv9-A || Armv7-M / Armv8-M || Legacy Cortex-M3
Texas Instruments – TI TMS320C6000 C64x/C64x+/C66x, C674x, TMS320C5000 C55x / Legacy C54x
Win32 DLL / Static LIB
Linux 32 Bit / 64 Bit

ADT iLBC 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.

↓  Click on links below to view specification tables. 

iLBC Armv9-A Neoverse N2

CPU Utilization
The ARM Neoverse is a group of 64-bit ARM processor cores.
FunctionMIPS
iLBC 30 Wideband WB6.2
iLBC 20 Narrowband NB5.6

iLBC ARM Cortex-A8 / A9 / A15 || Armv7-A, Armv8-A

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS @20msMIPS @30msProgram MemoryData MemoryPer Channel Data Memory
Encode3036797683165688
Decode9102032

iLBC ARM Cortex-M4

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS @20msMIPS @30msProgram MemoryData MemoryPer Channel Data Memory
Encode3540.5784483165688
Decode9.510.32032

iLBC ARM Cortex-M7 – Estimate

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS @20msMIPS @30msProgram MemoryData MemoryPer Channel Data Memory
Encode2124.3784483165688
Decode5.76.182032

iLBC ARM Cortex-M33/M35 – Estimate

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS @20msMIPS @30msProgram MemoryData MemoryPer Channel Data Memory
Encode29.434784483165688
Decode88.72032

iLBC C64x / C64x+ / C66x /C674x

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS @20msMIPS @30msProgram MemoryData MemoryPer Channel Data Memory
ProcessorC64xC64x+C64xC64x+C64xC64x+C64x/C64x+C64x/C64x+
Encode30.329.137.335.8288
Decode8.88.19.48.72032
Decode / Enable39.137.246.744.578.4 k56.7 k34952720

iLBC C55x

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
Codec ModeMIPSProgram MemoryData MemoryPer Channel Data Memory
20 ms11.122935068481359
30 ms12.652935068481359

iLBC C54x

CPU Utilization & Memory Requirements
All Memory usage is given in units of 16 bit word.
Codec ModeMIPSProgram MemoryData MemoryPer Channel Data Memory
20 ms15.651544645601357
30 ms17.951544645601357

iLBC Win32 (Dll and Static lib)

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS @20msMIPS @30msProgram MemoryData MemoryPer Channel Data Memory
Encode2.22.5446236916832
Decode0.50.62032

iLBC 32 Bit*

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
*Contact Sales for 64 bit numbers.
FunctionMIPS @20msMIPS @30msProgram MemoryData MemoryPer Channel Data Memory
Encode2.32.5586363268688
Decode0.70.662032

Description

iLBC ia a high-complexity speech codec suitable for robust voice communication over IP. iLBC  is the first codec ever to be standardized by the IETF (RFC3951 and RFC3952) and is designated by CableLabs as a mandatory component of PacketCable voice-over-cable telephony systems. iLBC, uses a block-independent linear-predictive coding (LPC) algorithm and has support for two basic frame lengths: 20 ms at 15.2 kbit/s and 30 ms at 13.33 kbit/s.

Other standard low bit rate codecs make use of dependencies between speech frames, resulting in error proliferation when packets are lost or delayed. In contrast, iLBC encoded speech frames are independent. This unique technology gives iLBC robustness against packet loss and delay. 

Function APIs

API function call summary

iLBCFIX_GIPS_encoderinit(): initialize an iLBC encode channel 
iLBCFIX_GIPS_decoderinit(): initialize an iLBC decode channel
iLBCFIX_GIPS_encode(): perform iLBC encode
iLBCFIX_GIPS_decode(): perform iLBC decode
 
Translate »