AN2261 Freescale Semiconductor / Motorola, AN2261 Datasheet
AN2261
Related parts for AN2261
AN2261 Summary of contents
Page 1
... Freescale Semiconductor, Inc. Application Note AN2261/D Rev. 1, 3/2002 ITU-T G.729AB Implementation on the StarCore SC140 Core by Corneliu Margina, This application note describes a methodology for porting and optimizing the ITU-T G.729 Bogdan Costinescu, Recommendation with Annex A and Annex B (G.729AB) on the StarCore™ SC140 core. ...
Page 2
G.729AB Background 1 G.729AB Background 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 ...
Page 3
Freescale Semiconductor, Inc. Implementation Phase Function-level C optimizations Function-level assembly implementations and optimizations The following sections describe these implementation phases, indicating the performance results. Table 2 summarizes the requirements of the ITU-T G.729AB implementation. Table 2. ITU-T G.729AB Implementation Requirements ...
Page 4
Implementation Process Porting Annex B to the SC140 core required use of the following elements: • Defined data types (for example, Word16, Word32) as defined in ITU-T G.729A to comply with the SC140 architecture. • Intrinsic functions defined by the ...
Page 5
Freescale Semiconductor, Inc. Table 5. Differences Between ITU-T G.729A and ITU-T G.729AB Functions Encoder Functions Function Name Difference Autocorr few diff. Levinson few diff. Calc_pastfilt new Calc_RCoeff new Calc_sum_acf new Cmp_filt new Cod_cng new Get_freq_prev new Init_Cod_cng new lsfq_noise new ...
Page 6
Implementation Process 2.1.2 Modifying the Channel Data The modified channel data consists of global data used by both the encoder and decoder of the speech codec to perform the following tasks: • Decode the SID information • Make the DTX ...
Page 7
Freescale Semiconductor, Inc. 2.1.5 Making the Library Interface ABI-Compliant The G.729AB library must comply with the Application Binary Interface as specified in [4] and [5]. Example 1 presents the ABI-compliant C functions of the vocoder external interface. void MDCR_G729AB_encode_initialize(MDCR_G729AB_ENCODER_CHANNEL_INFO_T *enc_info); ...
Page 8
Implementation Process The following assembly functions were integrated from the ITU-T G.729A optimized implementation, thus improving speed and program size: • Get_lsp_pol() • Pred_lt_3() • Residu() • Syn_filt() • Post_Process() • Autocorr() • Az_lsp() • Chebps() • Cor_h() • D4i40_17_fast() ...
Page 9
Freescale Semiconductor, Inc. The C optimization techniques are as follows: • Multisampling • Loop merging • Loop unrolling • Loop splitting • Split summation These techniques were applied to the following functions: • Calc_exc_rand() • Gauss() • Random() • New_ml_search_1() ...
Page 10
Results Table 10. Performance Results for New_ml_search1() and New_ml_search2() Function Name New_ml_search_1() New_ml_search_2() 3 Results Table 11 summarizes the performance results of the ITU-T G.729AB optimized implementation on the StarCore SC140 core. A profiling session after a small number of ...
Page 11
Freescale Semiconductor, Inc. 10 SC140 Porting and Integrating with ITU-T G.729A Project Requirements 0.5 Figure 1. Processing Load Versus Implementation Effort 4 References [1] ITU-T Recommendation G.729—Coding of Speech at 8 kbit/s Using ...
Page 12
... StarCore, and EOnCE are trademarks of Motorola, Inc. Metrowerks and CodeWarrior are registered trademarks of Metrowerks Corp. in the U.S. and/or other countries. All other product or service names are the property of their respective owners. Motorola, Inc Equal Opportunity/Affirmative Action Employer. © Motorola, Inc. 2002 AN2261/D For More Information On This Product, Go to: www.freescale.com ...