Jump to content

Qualcomm code-excited linear prediction

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by OverlordQ (talk | contribs) at 11:05, 30 June 2007 (clean up, Replaced: {{CodecsImplementations}} → {{Compression Software Implementations}} using AWB). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

QCELP, also known as Qualcomm PureVoice, is a speech codec developed in 1994 to increase the speech quality of the IS-96A codec used earlier in CDMA networks. It was replaced later with EVRC since it provides better speech quality with fewer bits. There are two versions available: QCELP8 and QCELP13 and they use 8 and 13 Kbit/s respectively.

Adopted in CDMA system is a QCELP vocoder with variable rates, which is actually a device converting a sound signal into the signal which can be transmitted in a circuit. The method adopted generally in a wire communication system is to first sample (8,000 sample values generated per second) a voice signal with an 8kHz signal and then implement 8-bit quantization coding for each sample value. Therefore, each voice channel in a wired system has the rate of 64K. However, because the air resource in a wireless system is very precious, a more effective coding mode is needed to use a rate as low as possible in the case where voice quality is guaranteed. A QCELP vocoder with variable rates is such a device. The main principles of it are to extract some voice feature parameters when a person speaks and transmit these feature parameters to the peer party. Then, the peer party will recover the voice with these parameters based on the promise between the two parties. Thus, a far lower rate is needed.

Let's give an example. The information of a triangle can be transmitted from one place to another in two ways: one is to obtain some points by means of sampling and transmit the information of these points to the peer party. The two parties connect these points to obtain a triangle. The other is to transmit the length of a side and the degrees of two angles of this triangle to the peer party, who can likewise recover this triangle based on these pieces of information. Obviously, there is far less information to be transmitted in the second method. What a vocoder does is similar to the latter method, but what a vocoder actually does is more complex than this. But the principles are the same.

The codes transmitted from the transmit end to the receive end and describing voice feature parameters vary with the rhythm or loudness of a speech. These variable rates mean that a vocoder can change its own code rates based on the loudness or rhythm of a speech to further reduce a code rate. Thus, a code with a higher rate will be adopted when there is a high-pitched voice while a code with a lower rate will be adopted when there is a low-pitched voice. In a silent period (when a person makes no sound during a speech), the lowest code rate will be adopted. Thus, a code rate can be decreased to reduce the interference with other users.