Packet Loss Concealment-PLC is a very important technology in ilbc codec and an indispensable part in VoIP codec applications. The ilbc PLC only performs packet compensation at the decoding end. During decoding by frame based on the received bitstream, The ilbc decoder obtains the bitstream of each frame to determine whether the current frame is complete, if there is no problem, rebuild the voice signal according to the normal ilbc decoding process. For details, see "in-depth analysis of ilbc decoder principles". If the voice packet is lost, go to the PLC Unit for processing. Based on the decoding information of the previous frame, the PLC uses the method of repeating pitch synchronization to replace the current lost frame to compensate for packet loss.
I. Several situations of PLC Unit
1. The past and current frames are correctly received.
To enter the normal ilbc decoder decoding process, you must save the status information of the current frame, including the LPC information and the decoded residual signal. If the bit rate of the next frame is lost, the stored information is used.
2. Only when frame packet loss occurs
If the current frame is not lost, enter PLC unit to reconstruct the LPC coefficient and residual signal. The LPC and residual signal compensation methods will be described in detail later.
3. packet loss occurs for multiple consecutive frames.
If packet loss occurs for multiple Consecutive Frames, you need to enter the PLC unit multiple times and use the compensated frame status information. It is worth noting that the more the frame is lost, the more difficult it is to accurately reconstruct the frame. Therefore, the gain for continuous packet loss is reduced by frame to avoid greater signal distortion.
4. The past frame is processed by PLC and must be smoothly processed with the current frame.
In order to ensure that the frame compensated by PLC and the frame without packet loss need to be smooth, it is mainly processed based on the correlation between the front and back frames.
Ii. PLC Reconstruction LPC Coefficient
The iLBC PLC uses the LPC coefficient of the last sub-frame of the previous frame to compensate for loss of LPC for simple reconstruction. This method is obvious, because the last sub-frame in space and time is most correlated with the currently lost LPC. However, this kind of simple replication obviously introduces greater distortion when processing multiple consecutive frames.
Iii. PLC Reconstruction residual Signal
Excitation signals (residual signals) are generally divided into quasi-periodic components and noise-like components. Therefore, PLC needs to reconstruct these two parts first. The quasi-periodic components can be obtained by measuring the pitch period of the previous frame. The quasi-periodic components can be obtained by generating random noise, the energy ratio of the two can also refer to the ratio of the previous frame. Therefore, we must first perform pitch detection on the previous frame, then reconstruct the voice part of the lost frame in the form of pitch synchronization, and then obtain the noise-like gain through correlation, finally, we mix them to reconstruct the entire residual signal.
When frames are dropped continuously, in order to reduce the correlation between compensation frames, the energy will be decreased by frame, but the Audible Noise will still be generated. If the interpolation method is used, although the sound quality may be better, a greater latency will be introduced.
Iv. disadvantages of iLBC PLC
When frames are dropped consecutively, each voice frame compensated by the PLC has the same spectrum characteristics (caused by the same LPC) and the base audio rate, so it is easy to introduce a Perceptible Noise, this is caused by excessive periodicity, especially when the pitch frequency is high. Through proper interpolation, this problem can be mitigated, but greater latency is often introduced.
References:
1. IETF: RFC3951.txt
2. Pan bosheng's research on advanced processing of iLBC decoding program
Welcome to the discussion!