G.722
Audio Coder DSP C Code
Description:
the ITU G.722 audio coder is intended for wideband (50Hz - 7000Hz) audio
signals. The sample rate is 16kHz with 15-bit samples, and the compression
is to 64kb/s. Of this 8 or 16kb/s can be masked out in transmission to
send auxiliary data information, at a small loss in audio quality after
decoding. The algorithm is capable of sending multiple voice signals and
sounds clear with loudspeakers. Music also codes with good quality given
the bandwidth restriction. Applications include video conferencing and
high quality telephony. The algorithm uses Adaptive Differential Pulse
Code Modulation (ADPCM) in a backwards configuration. Throughput delay
is low, the encoder output being a code adaptively quantised from the
current input sample and the coder memory.
The C code is suitable for any
processor with an ANSI-compliant C compiler. It is designed especially
for efficient operation on low-cost fixed-point DSP- and general-purpose
micro-processors. All data memory is specified as 16-bit integer words.
Multiplies are integer 16x16-bit with 32-bit products.
The Algotron implementation has
been developed to have low processor resource usage whilst still passing
the G.722 test vectors. The encoder and decoder routines are operated
as separate items with individual subroutine calls, each being called
at 8kHz. The encoder requires 2 successive input samples, and generates
a single 8-bit ADPCM code per call, ie 64kb/s regardless of mode. The
decoder takes either the same 8-bit code or a truncation to 7- or 6-bits
depending on the bit rate mode of 64, 56, or 48kb/s, and generates two
successive output samples.
A further routine call is made
for initialisation of encoder or decoder. The code routine calls are re-entrant
to allow multi-channel operation, the memory block associated with each
channel being pointer-addressed. A comprehensive user's guide is provided
with the code.
Processor
Load:
Function |
MIPS# |
Data
memory (words) |
Prog
memory (kbytes)# |
Encoder |
10.6 |
60/channel |
2.1 |
Decoder |
10.2 |
60/channel |
1.9 |
Encoder
+ Decoder |
20.8 |
120/channel |
2.6 |
-
#example figures from compiling for the TI TMS320C5000(C55x) DSP processor
Availability:
NOW - sale is under licence - integration support offered
|
|