G.729A(B)
Speech Coder TMS320C5000 DSP Code
Description:
this is an implementation of the ITU G.729A(B) voice compression algorithm.
Using the Conjugate Structure Algebraic Codebook Linear Prediction Coding
algorithm, 16-bit samples of speech made at 8kHz are compressed into an
8kb/s stream. Data is communicated in frame sizes of 10ms. The overall
delay of the algorithm is 15ms.
G.729A is a reduced-complexity
version of G.729. In terms of voice quality, it achieves an MOS figure
of 3.9, assuming clean input speech. This is slightly better than G.726
ADPCM coding at 32kb/s. In background noise, G.729 has a slightly lower
performance than G.726. In G.729AB, the "B" variant involves
a voice activity detection function with comfort noise generation to reduce
the average bit rate during silence periods. This is especially useful
in packet-based systems such as voice over IP.
The Algotron implementation is
available as both G.729A and G.729AB, with encoder and decoder as separate
items. It is operated with one routine for initialisation and one main
routine for each frame, with separate calls for encoder and decoder. The
code has been written to allow multi-channel operation by being fully
re-entrant, and is also C-callable.
Note: the code is for the TMS320C54x only.
Processor
Load:
Mode |
MIPS# |
Data
memory (words) |
Prog
memory (kwords)# |
G.729AB
Encoder |
11.5 |
5k
+ 806/channel |
14.5 |
G.729AB
Decoder |
2.7 |
5k
+ 752/channel |
9.5 |
G.729AB
Encoder + Decoder |
14.2 |
7k
+ 1558/channel |
17 |
G.729A
Encoder |
11.5 |
5k
+ 806/channel |
9.5 |
G.729A
Decoder |
2.7 |
4.5k
+ 752/channel |
7 |
G.729A
Encoder + Decoder |
14.2 |
7k
+ 1558/channel |
12 |
-
#figures for assembler interfaces with TMS320C54x operation
Availability:
NOW - sale is under licence - integration support offered
|
|