In-depth analysis of ilbc decoder principles

Source: Internet
Author: User

Continue to learn iLBC Codec...

 

1. iLBC decoder Process

1 is the iLBC decoding process without frame loss. When the decoder receives Payload, it first parses the parameters required for decoding from bitstream. Here, the decoding parameters start from the LPC, and then start the reconstruction. The next sub frame reconstruction is consistent with the encoding sequence, the reconstructed residual signal is obtained by decoding the third-level shape/gain vector and multiplying them and then adding them together. Then enter the speech enhancement module to improve the periodicity of the speech signal, and finally obtain the decoded speech through the merging and filtering and post-processing modules. If packet loss occurs, the packet loss compensation module must be used in steps 1 to 5. There are many content about packet loss compensation (PLC), which will be described in detail later.

 

 

 

1. Extract decoding parameters from bitstream;

2. decode the LPC coefficient and obtain the corresponding LPC coefficient of each sub-frame through interpolation. This step is direct and the implementation of each speech codec is basically similar;

3. Reconstruct the initial state vector of the first 57/58 samples. First, the DPCM sample is decoded by searching the table, and then the decoded Scalar is restored to the vector power. Then, the starting state vector of 57/58 is obtained through time reversal and full-pass filtering. The remaining 23/22 sample vectors are decoded and reconstructed using the dynamic code and corresponding index numbers composed of the starting state vectors.

4. Create a Codebook Memory using the decoded residual signal sample points and decode each sub-frame in sequence. Note that when decoding a vector before the initial state, it is necessary to reverse the Time of the residual signal and the target vector.

5. Pass (gain [0] * cbvec [0] + gain [1] * cbvec [1] + gain [2] * cbvec [2]), repeat steps 4 and 5 to recreate all sub-frames.

6. Speech enhancement module. The speech quality is optimized by amplifying the speech periodicity.

7. Combine and filter residual signals to obtain voice signals in the time domain.

8. The post-processing module aims to remove the low-frequency noise generated during speech synthesis.

 

 

Ii. Quality Evaluation of iLBC Codec

This part is from the iLBC White Paper.

 

 

 

 

Iii. Summary of iLBC Decoder

1. The complexity of iLBC's entire decoding process is 1/3 of the complexity of the encoding end ~ 1/2; (refer to the implementation of fixed iLBC code on the Internet on ARM9)

2. Low latency and strong anti-packet loss performance, that is, the quality of speech is maintained when the packet loss rate is high;

3. The Packet Loss Concealment module and enhancer module are the highlights of the decoding end. Further research is required, this is the next learning plan;

 

 

References:

1.20.rfc3951.txt

2. iLBC white paper. pdf

 

Let's talk about it. Welcome to discuss and correct it!

 

 

Note:

I don't know why. The current website www.ilbcfreeware.org cannot be opened. Do you know why?

 

 

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.