Reducing computation in optimal amplitude multipulse coders
Sharad Singhal · 2005
Multipulse excitation provides excellent quality speech at medium bit rates. However, the analysis-by-synthesis method used to obtain the excitation is computationally expensive. Although the computational complexity of multipulse coders can be reduced by simplifying the model, the simplification usually reduces the degree of optimization in the excitation and the resulting coders do not achieve the performance promised by the multipulse method. In this paper we describe an algorithm that keeps the amplitudes of all pulses optimum while searching for the pulse locations. The algorithm requires O(Nm3/6 + Nm) multiply-adds and O(2Nm) divisions, where m pulses are placed in a frame of length N samples. The algorithm requires O(Nm+3N) words of storage. In addition, we show that it is possible to obtain the best pulse location at a given stage without an exhaustive search. A simple sampling technique enables us to drop a substantial fraction of possible pulse locations from the search at each stage without reducing the optimization.