AN2261 Freescale Semiconductor / Motorola, AN2261 Datasheet - Page 2

no-image

AN2261

Manufacturer Part Number
AN2261
Description
ITU-T G.729AB Implementation on the StarCore SC140 Core
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
G.729AB Background
1
2
2
G.729AB Background
Implementation Process
G.729AB is an 8kbit/s Conjugate-Structure Algebraic-Code-Excited Linear-Prediction (CS-ACELP)
speech codec employed in simultaneous voice and data applications. The Annex B of the ITU-T G.729
Recommendation proposes a silence compression scheme for terminals to be used with ITU-T G.729 or
ITU-T G.729A. It contains three algorithms for reducing the transmission rate during periods of silence,
as follows:
• Voice Activity Detection. Indicates the presence or absence of voice, thus activating the vocoder to
• Discontinuous Transmission. Receives the active/non-active voice information from the VAD module
• Comfort Noise Generator. At the decoder, reproduces non-active voice frames based on the decisions
The process of porting and optimizing the ITU-T G.729 with integrated Annex A and Annex B
Recommendations references the methodology used in the implementations of ITU-T G.729 [4] and
ITU-T G.729A [5] Recommendations. Table 1 summarizes the main phases of this process.
Porting ITU-T G.729AB to the SC140
core by integrating it into ITU-T
G.729A optimized implementation
Project-level optimizations
Algorithm changes
code/decode active voice frames. This algorithm makes a decision on voice activity every 10 ms in
correlation with the frame size of the G.729/G.729A vocoder. The output of the VAD module is either
a 1 or 0, indicating the presence or absence of voice activity. The decision is based on a set of
difference parameters: the full band energy, the low band energy, the zero-crossing rate and a spectral
measure. If the output of a VAD module is 1, the speech codec is invoked to code/decode active voice
frames (speech). If the output is 0, the DTX/CNG algorithms are used to code/decode non-active voice
frames (silence).
and sends a set of non-active voice update parameters to the speech decoder by measuring the changes
in the non-active voice signal. The update decision
the frame energy and the spectral distortion measure. If the update is required, the encoder sends
information to generate a signal similar to the original non-active voice signal. This information
comprises an energy level and a description of the spectral envelope. If no update is required, the
decoder generates the signal on the basis of the last received energy level and the spectral shape
information of the non-active voice frame. The decision output of the DTX module is as follows:
— 0
— 1 active speech frame
— 2 Silence Insertion Descriptor (SID) frame
of the VAD (output 0) and DTX modules at the encoder. The comfort noise is generated by introducing
a pseudo-white excitation signal of a controlled level into interpolated LPC filters, in the same way that
the decoder produces active speech by filtering the decoded excitation. The excitation level and LPC
filters are obtained from the previous SID information.
Implementation Phase
untransmitted frame
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
Table 1. Implementation Phases
Adding new functions, channel data, and tables with respect to the
changed functions and tables from G.729A. Data type definitions and
introduction of pragmas and intrinsic functions (Section 2.1 on page 3).
Function inlining, data alignment, channel data transformations
(Section 2.2 on page 7).
Changing algorithms based on better platform usage (Section 2.3 on page
8).
i
s based on the absolute and adaptive thresholds on
Description

Related parts for AN2261