Multilevel Optimization of DSP Based SPEEX Decoder

Wenguang Jin, Bin Zhang, De-qing Zhu, Kai-liang Hu · 2009

SPEEX is a flexible codec based on the Code Excited Linear Prediction (CELP) algorithm and supports a wide range of speech quality. In this paper, several high-level and low-level optimization techniques have been concurrently employed to reduce the MIPS count and complexity of the SPEEX decoder in order to achieve good speech quality on an embedded DSP receiver. We reassign the decoder's stack and the memory, reconstruct the C code and reduce the redundancies. According to the way CodeWarrior compiles, we optimize C code and the algorithm of decoding bits from the bit stream, and then the assembly code of key modules is rewritten by using the special DSP instructions. The results show that the complexity of SPEEX decoder has been decreased from 31.64 MIPS to 12.40 MIPS. It can be used in voice over IP (VoIP) applications.

Read the paper · More papers on PaperTik