From http://www.cnblogs.com/huaping-audio/archive/2008/11/23/1339527.html
Ilbc coding/decoding knowledge
From: http://www.eet-china.com/ART_8800438611_617685_TA_558b9f36.HTM
Self-VoIP
Since the advent of the technology, the industry has been focusing on the existing low bit rate codecs
(Codec
)
Standards are constantly concerned. Major problems affecting VoIP device manufacturing and application developers include complex intellectual property rights (IPR) involving numerous patent holders)
Management, expensive licensing models, and poor quality of the actual IP network. In 2000, global IP sound (gips)
The company decided to develop a codec that could meet the needs of the VoIP industry. The goal was to develop a free license fee using the internal expertise of gips.
(Royalty-free), designed for packet communication, and can provide high sound quality in ideal error-free and packet loss situations
Codec and introduce it to different standardization organizations to meet interoperability requirements. This is ilbc.
The origin of codec.
History
Currently, most speech codec Linear Prediction Based on code excitation (Code Excited Linear Prediction,
CELP) encoding models such as ITU g.729 and g.723.1, GSM-EFR and 3gpp-amr. CELP
It has always been regarded as a very successful method to achieve high quality with Low Bit Rate circuits in the exchange network. This encoding method is efficient mainly because it uses the mutual dependence between consecutive speech fragments, because
The performance of this CELP codec depends mainly on the previous encoding history. CELP
The encoder is based on memory, so the error caused by packet loss or delay will spread out. The result is that a single packet loss will affect the quality of subsequent data packets, which is obviously a major defect in packet communication.
Ilbc codecs
Ilbc is a speech codec designed to provide robust IP voice communication. It is based on Narrowband Speech and has a sampling rate of 8 kHz. Ilbc
Codec supports two basic frame lengths: 13.3 kbps bit rate encoding frame length is 30 MS; 15.2 kbps bit rate encoding frame length is 20
Ms.
The ilbc algorithm can be used to obtain a Speech Coding System with packet loss Response Control. Ilbc
The processing of each data packet can be performed independently of other data packets, which is an ideal choice for packet communication. Even if the IP packet loss and/or delay deteriorate, this codec
The decline in the voice quality will not be too bad. This is different from the general codec Behavior Based on the CEIP model.
First, it is designed for switching circuit networks or wireless networks to restore bit errors rather than packet loss.
When packet loss occurs, one of the benchmarks related to the voice codec is the number of frames/packets required to be restored from a single packet loss. In ilbc, the number is zero. The first packet after the packet loss can still be accurately decoded according to the original arrangement.
Ilbc is a Narrowband Speech Codec that uses the entire 4 kHz band, while most standard Low Bit Rate Codec uses from 300Hz
3400Hz frequency band. This has a significant impact on sound quality. In addition, the spectrum characteristics of ilbc voice encoding accurately simulate the characteristics of the original signal, and its speech rate is lower than the standard bit rate.
Codec is more natural and clear.
All in all, the ilbc algorithm implements cutting-edge fixed bit rate encoding for the packet network and achieves an excellent balance between quality and bit rate.
Standardization
Released in April 2004 for the multimedia terminal adapter (multiple terminal adapter, MTA) and media gateway
In the cablelabs packetcabletm 1.1 Audio/Video Codec specification, ilbc is defined as a mandatory codec. Comcast
Steve Craddock, senior vice president of New Media Development and Chairman of packetcable business department of cablelabs, said: "due to gips
Ilbc encoding is specially designed for data packet networks, so we are confident that this professional level of specification can provide cable operators with the high performance and sound quality required for their VoIP
."
Ilbc received Internet Engineering Task Force in March 2002,
IETF) recognized as the first standard voice/audio codec. At present, ilbc codec is in the last stage of the ieif standardization process, which is the IETF
Part of the Audio Visual transport work group.
Codec Performance
Gips and some independent laboratories have evaluated several codec performances. 2002, dynastat
A formal hearing test was conducted. Voice quality assessment Lab (VQA), at&t's audio quality evaluation lab, 2003)
Ilbc codec has also been extensively tested.
Shows the evaluation result of dynastat, which is 30 ms for ilbc according to the existing encoding standards g.729a and g.723.1
Mode. The results show that ilbc has superior performance in actual environments, and its inherent packet network attribute can provide high quality even in poor network conditions.
These tests also show that the ilbc performance under packet loss conditions is not only significantly better than the current standard codec (g.723.1, g.728, g.729, GSM, etc ), it is also equal to or even better than the standard codec under the ideal channel (no packet loss.
At&t's test results also show that there is no significant performance difference between 20 MS and 30 MS modes in ilbc; while in case of packet loss, 20 MS
The mode even shows better packet loss robustness. At&t VQA Lab also said that ilbc has excellent performance in the presence of background noise, comparable to the channel without packet loss
G.729.e.
Implementation Scheme
At present, several VoIP devices and application manufacturers have integrated ilbc in their own products. Below we list some companies that have selected ilbc for their own commercial products:
Application/software Phone: Skype, Nortel, WebEx, hotsip, marratech, gatelease, K-phone, xten;
IP Phone: Worldgate, grandstream, pingtel;
Chip: audiocodes, Ti telogy, leadtek, mindspeed.Ilbc license
Equipment and application manufacturers have been looking for cost-effective methods to meet new requirements and provide new functions for the market. When deciding whether to develop ilbc internally or obtain ilbc coding authorization from other suppliers, we need to fully consider several aspects.
Obtaining ilbc coding authorization from other vendors can significantly reduce development costs, improve quality, speed up marketing, reduce risks, and increase flexibility. However, you should be cautious when selecting a supplier, and strive to minimize risks or extra costs.
Supplier selection principles include:
Ability to handle some extremely sensitive implementation and testing problems when porting ilbc to a fixed-point DSP Environment
The selected platform meets the technical requirements in terms of MIPs, quality, code size, and memory.
The conversion from floating point to fixed point (FIP) must be balanced between efficiency, memory utilization, and the most important sound quality.
Poor implementation of ilbc FIP code will impede DSP porting.
Provides fixed-point ansi c Conversion records for speech codec and DSP optimization and signal processing technologies.
The platform selected must have a good performance record among the ilbc licensors.
A verified ilbc supplier must be selected to ensure timely results and high-quality performance.Calculate the cost of self-developed ilbc Design
To calculate the time it takes for an experienced designer to convert a floating point code to a fixed-point ansi c code, or to convert it to a DSP platform, we make the following assumptions:
A senior engineer with rich knowledge in codec, FIP, and DSP is responsible for design tasks;
"Standard" optimization (most Code uses C programs, and key parts use assembly languages );
DSP conversion is based on high quality ilbc FIP code.
The above table only takes into account the design workload. To fully assess the overall cost, we must consider the following factors:
Internal training;
Time required to familiarize yourself with ilbc codec;
Project Risk? D? D if ilbc authorization is obtained from external suppliers, its complexity, performance and quality cannot be verified in advance;
General technical and commercial risks;
Document processing;
Test;
Support cost and lifecycle cost;
Overhead? D? D. fixed costs related to employees and tools;
Unable to draw engineering resources to develop other products and/or functionsIn addition, we should not underestimate the value of shorter time-to-market. Compared with self-developed internal code, the authorization is used to optimize the ilbc code. The final product can be available several months earlier.
Author: Yann lejas
Asia Pacific Customer Engineering director
Global IP sound (gips)
Ilbc codec official homepage: http://www.ilbcfreeware.org/software.html