1、 International Telecommunication Union ITU-T G.729.1TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU Amendment 3(08/2007) SERIES G: TRANSMISSION SYSTEMS AND MEDIA, DIGITAL SYSTEMS AND NETWORKS Digital terminal equipments Coding of analogue signals by methods other than PCM G.729-based embedded variab
2、le bit-rate coder: An 8-32 kbit/s scalable wideband coder bitstream interoperable with G.729 Amendment 3: Extension of the G.729.1 low-delay mode functionality to 14 kbit/s, and corrections to the main body and Annex B ITU-T Recommendation G.729.1 (2006) Amendment 3 ITU-T G-SERIES RECOMMENDATIONS TR
3、ANSMISSION SYSTEMS AND MEDIA, DIGITAL SYSTEMS AND NETWORKS INTERNATIONAL TELEPHONE CONNECTIONS AND CIRCUITS G.100G.199 GENERAL CHARACTERISTICS COMMON TO ALL ANALOGUE CARRIER-TRANSMISSION SYSTEMS G.200G.299 INDIVIDUAL CHARACTERISTICS OF INTERNATIONAL CARRIER TELEPHONE SYSTEMS ON METALLIC LINES G.300G
4、.399 GENERAL CHARACTERISTICS OF INTERNATIONAL CARRIER TELEPHONE SYSTEMS ON RADIO-RELAY OR SATELLITE LINKS AND INTERCONNECTION WITH METALLIC LINES G.400G.449 COORDINATION OF RADIOTELEPHONY AND LINE TELEPHONY G.450G.499 TRANSMISSION MEDIA AND OPTICAL SYSTEMS CHARACTERISTICS G.600G.699 DIGITAL TERMINAL
5、 EQUIPMENTS G.700G.799 General G.700G.709 Coding of analogue signals by pulse code modulation G.710G.719 Coding of analogue signals by methods other than PCM G.720G.729 Principal characteristics of primary multiplex equipment G.730G.739 Principal characteristics of second order multiplex equipment G
6、.740G.749 Principal characteristics of higher order multiplex equipment G.750G.759 Principal characteristics of transcoder and digital multiplication equipment G.760G.769 Operations, administration and maintenance features of transmission equipment G.770G.779 Principal characteristics of multiplexin
7、g equipment for the synchronous digital hierarchy G.780G.789 Other terminal equipment G.790G.799 DIGITAL NETWORKS G.800G.899 DIGITAL SECTIONS AND DIGITAL LINE SYSTEM G.900G.999 QUALITY OF SERVICE AND PERFORMANCE GENERIC AND USER-RELATED ASPECTS G.1000G.1999 TRANSMISSION MEDIA CHARACTERISTICS G.6000G
8、.6999 DATA OVER TRANSPORT GENERIC ASPECTS G.7000G.7999 PACKET OVER TRANSPORT ASPECTS G.8000G.8999ACCESS NETWORKS G.9000G.9999 For further details, please refer to the list of ITU-T Recommendations. ITU-T Rec. G.729.1 (2006)/Amd.3 (08/2007) i ITU-T Recommendation G.729.1 G.729-based embedded variable
9、 bit-rate coder: An 8-32 kbit/s scalable wideband coder bitstream interoperable with G.729 Amendment 3 Extension of the G.729.1 low-delay mode functionality to 14 kbit/s, and corrections to the main body and Annex B Summary This Recommendation describes an 8-32 kbit/s scalable wideband speech and au
10、dio coding algorithm interoperable with G.729, G.729A and G.729B. The output of the G.729EV coder has a bandwidth of 50-4000 Hz at 8 and 12 kbit/s and 50-7000 Hz from 14 to 32 kbit/s. At 8 kbit/s, G.729EV is fully interoperable with G.729, Annex A/G.729 and Annex B/G.729. Hence, an efficient deploym
11、ent in existing G.729-based VoIP infrastructures is foreseen. The coder operates on 20 ms frames and has an algorithmic delay of 48.9375 ms. By default, the encoder input and decoder output are sampled at 16 kHz. The encoder produces an embedded bitstream structured in 12 layers corresponding to 12
12、available bit rates from 8 to 32 kbit/s. The bitstream can be truncated at the decoder side or by any component of the communication system to adjust “on the fly“ the bit rate to the desired value with no need for outband signalling. The underlying algorithm is based on a three-stage coding structur
13、e: embedded Code-Excited Linear Prediction (CELP) coding of the lower band (50-4000 Hz), parametric coding of the higher band (4000-7000 Hz) by Time-Domain Bandwidth Extension (TDBWE), and enhancement of the full band (50-7000 Hz) by a predictive transform coding technique referred to as Time-Domain
14、 Aliasing Cancellation (TDAC). Amendment 1 introduces the new Annex A containing the RTP payload format, capability identifiers and parameters for signalling of G.729.1 capabilities using H.245. Both format and capability parameters are fully compatible with the corresponding G.729.1 RTP definitions
15、 to allow seamless interoperability. Besides the new Annex, Amendment 1 to G.729.1 incorporates changes needed to correct defects in G.729.1 and provides new, more comprehensive test vectors. Amendment 2 introduces the new Annex B, which defines an alternative implementation of the G.729.1 algorithm
16、 using floating point arithmetic to be used for implementation on DSP hardware optimized for floating-point operations. The accompanying floating point C-code is fully interoperable with the fixed-point C-code. Amendment 3 extends the low-delay functionality of Main Body and Annex B of G.729.1 to th
17、e first wideband bit rate (14 kbit/s). Amendment 3 to G.729.1 also incorporates changes needed to correct defects in the text and C-code of G.729.1 Main Body and Annex B. Source Amendment 3 to ITU-T Recommendation G.729.1 (2006) was approved on 29 August 2007 by ITU-T Study Group 16 (2005-2008) unde
18、r the ITU-T Recommendation A.8 procedure. ii ITU-T Rec. G.729.1 (2006)/Amd.3 (08/2007) FOREWORD The International Telecommunication Union (ITU) is the United Nations specialized agency in the field of telecommunications. The ITU Telecommunication Standardization Sector (ITU-T) is a permanent organ o
19、f ITU. ITU-T is responsible for studying technical, operating and tariff questions and issuing Recommendations on them with a view to standardizing telecommunications on a worldwide basis. The World Telecommunication Standardization Assembly (WTSA), which meets every four years, establishes the topi
20、cs for study by the ITU-T study groups which, in turn, produce Recommendations on these topics. The approval of ITU-T Recommendations is covered by the procedure laid down in WTSA Resolution 1. In some areas of information technology which fall within ITU-Ts purview, the necessary standards are prep
21、ared on a collaborative basis with ISO and IEC. NOTE In this Recommendation, the expression “Administration“ is used for conciseness to indicate both a telecommunication administration and a recognized operating agency. Compliance with this Recommendation is voluntary. However, the Recommendation ma
22、y contain certain mandatory provisions (to ensure e.g. interoperability or applicability) and compliance with the Recommendation is achieved when all of these mandatory provisions are met. The words “shall“ or some other obligatory language such as “must“ and the negative equivalents are used to exp
23、ress requirements. The use of such words does not suggest that compliance with the Recommendation is required of any party. INTELLECTUAL PROPERTY RIGHTS ITU draws attention to the possibility that the practice or implementation of this Recommendation may involve the use of a claimed Intellectual Pro
24、perty Right. ITU takes no position concerning the evidence, validity or applicability of claimed Intellectual Property Rights, whether asserted by ITU members or others outside of the Recommendation development process. As of the date of approval of this Recommendation, ITU had/had not received noti
25、ce of intellectual property, protected by patents, which may be required to implement this Recommendation. However, implementers are cautioned that this may not represent the latest information and are therefore strongly urged to consult the TSB patent database at http:/www.itu.int/ITU-T/ipr/. ITU 2
26、007 All rights reserved. No part of this publication may be reproduced, by any means whatsoever, without the prior written permission of ITU. ITU-T Rec. G.729.1 (2006)/Amd.3 (08/2007) iii CONTENTS Page 5.4 Coder modes. 1 5.6 Algorithmic delay. 2 5.7 Computational complexity and storage requirement 2
27、 6.1 QMF analysis filterbank, signal downscaling and spectral folding of the higher band . 2 6.2 Pre-processing of lower band . 2 9.1 Use of the simulation software. 3 B.5 ANSI C Code 5 ITU-T Rec. G.729.1 (2006)/Amd.3 (08/2007) 1 ITU-T Recommendation G.729.1 G.729-based embedded variable bit-rate co
28、der: An 8-32 kbit/s scalable wideband coder bitstream interoperable with G.729 Amendment 3 Extension of the G.729.1 low-delay mode functionality to 14 kbit/s, and corrections to the main body and Annex B Modifications introduced by this amendment are shown in revision marks. Unchanged text is replac
29、ed by ellipsis (). Some parts of unchanged texts (clause numbers, etc.) may be kept to indicate the correct insertion points. 5.4 Coder modes The LOW_DELAY mode is provided for narrowband use cases. In this case, the decoder bit rate can be limited to 8-12 14 kbit/s which allows the reduction of the
30、 overall algorithmic delay by skipping the inverse MDCT and overlap-add. In G729B_BST or LOW_DELAY modes, the decoder output is sampled at 16000 Hz by default; if the NB_OUTPUT mode is also set, this output is sampled at 8000 Hz. Note that wideband quality of the low-delay mode is limited, because s
31、calability cannot be used to increase the bit rate beyond 14 kbit/s. Furthermore, in error-free conditions, the low-delay mode at 14 kbit/s may imply slight quality degradation compared with the default G.729.1 mode at 14 kbit/s. Note that the LOW_DELAY decoder mode has not been formally tested in t
32、he presence of frame erasures. Table 3 Encoder/decoder modes Mode Encoder operation Decoder operation DEFAULT 16000 Hz input 16000 Hz output NB_INPUT 8000 Hz input N/A G729_BST bit rate limited to 8 kbit/s, output G.729 bitstream N/A NB_OUTPUT N/A 8000 Hz output G729B_BST N/A read and decode G729B b
33、itstream LOW_DELAY N/A bit rate limited to 8-12 14 kbit/s, low delay 2 ITU-T Rec. G.729.1 (2006)/Amd.3 (08/2007) 5.6 Algorithmic delay Note that for an encoder in NB_INPUT mode and a decoder in NB_OUTPUT and LOW_DELAY mode, the algorithmic delay is reduced to 25 ms. For an encoder in DEFAULT_MODE an
34、d a decoder in LOW_DELAY mode at 14 kbit/s, the algorithmic delay is reduced to 28.9375 ms. 5.7 Computational complexity and storage requirement The observed worst-case complexity of the G.729EV coder (encoder+decoder) is 35.79 WMOPS based on the basic operators of ITU-T Software Tool Library STL200
35、5 v2.1 (from G.191). The G.729EV storage requirement in 16-bit kwords is given in Table 5. Table 5 Complexity figures of the G.729EV coder (encoder/decoder) Computational complexity (WMOPS) 35.79 Static RAM (kwords) 54.4 Scratch RAM (kwords) 3.7 Data ROM (kwords) 8.53 Program ROM (kwords) 32 6.1 QMF
36、 analysis filterbank, signal downscaling and spectral folding of the higher band =+=31012)()1()1)()(jWBWBjjnsjnsjhny (4) The lower- and higher-band signals sampled at 8000 Hz are simply obtained by dropping one out of two samples. That is: )()2/(1nynsqmfLB= ),2/()(1nynsqmfLB= and )()2/(2nynsqmfHB= )
37、2/()(2nynsqmfHB= . Thus in Equations 2 and 4, the signals )(1ny and )(2ny are computed only at values L,4,2,0=n (polyphase implementation) to directly obtain )2/(nsqmfLB)(nsqmfLBand )2/(nsqmfHB)(nsqmfHB. 6.2 Pre-processing of lower band The lower-band signal is filtered by an elliptic high-pass filt
38、er )(1zHhof order 2 to remove the frequency components below 50 Hz. The filter )(1zHhis defined as: 2-1-2-11z607291010.96718207 z7898041.966464551z27299555103115.0z8138781.911020391527290.95551031)(+=zHh()21211291016718207607.998049664645578.1127299555103115.038789110203981.127299555103115.0+=zzzzzH
39、h ITU-T Rec. G.729.1 (2006)/Amd.3 (08/2007) 3 6.6.2 Perceptual weighting of the CELP difference signal The coefficients ia are updated for every 5 ms subframe as explained in clauses 3.2.5 and 3.2.6/G.729. The parameters 1 = 0.96 94 and 2 = 0.6 are constant. Equivalently, the factor fac can be defin
40、ed as the inverse gain of )/(/)/(21 zAzA at Nyquist frequency of the lower band (4000 Hz): )/()/(12zAzAfac = (58) 6.6.6 Spectral envelope coding The spectral envelope is quantized with 5 bits by uniform scalar quantization and the resulting quantization indices are coded using a two-mode binary enco
41、der. The 5-bit quantization consists in computing the indices )(_ jindexrms , j=0,17, as follows: ()(log_2)(_ jrmsroundjindexrms = )(log_21)(_ jrmsroundjindexrms (68) 9.1 Use of the simulation software The possible decoder options are listed below: rXXXXX : run decoder with maximal bit rate XXXXXX b
42、it/s (by default: 32000); f8 : 8000 Hz sampled output; ld : low-delay mode (the decoder bit rate must be limited to 8 or, 12 or 14 kbit/s); g729b_bst : read and decode G.729B bitstream. Table 22 Tables of G729EV_MAIN_table.c Table name Size in 16-bit word Description G729EV_TDAC_rw2 80 Table for MDC
43、T computation G729EV_TDAC_win 160 Table for MDCT computation G729EV_TDAC_wcos 80 Table for MDCT computation 4 ITU-T Rec. G.729.1 (2006)/Amd.3 (08/2007) Table 24 Summary of encoder specific routines Filename Description G729EV_G729_ACELPacelp_CAca.c G729EV Search fixed codebook G729EV_G729_LPClpc.c G
44、729 LP analysis G729EV_G729_PITCHpitch.c G729EV pitch search G729EV_G729_PWFpwf.c G729 computation of perceptual weighting coefficients G729EV_G729_QUAqua_GAINgain.c G729 gain quantizer G729EV_G729_QUAqua_LSPlsp.c G729 LSP quantizer G729EV_TDBWE_encoder.c TDBWE encoder routine G729EV_TDBWE_vector_qu
45、antization.c TDBWE vector quantization G729EV_TDAC_encod.c TDAC encoder routine G729EV_MAIN_encod.c MAIN encoder routine G729EV_CELP2S_acelp_ca.c CELP2S fixed codebook search G729EV_CELP2S_encod.c CELP2S encoder routine G729EV_FEC_ferenc.c FEC encoder routine Table 25 Summary of decoder specific rou
46、tines Filename Description G729EV_G729_DEde_ACELPacelp.c G729 algebraic codebook decoding G729EV_G729_DECdec_GAINgain.c G729 gain decoding G729EV_G729_DECdec_LAG3lag3.c G729 adaptive-codebook index decoding G729EV_G729_LSPDEClspdec.c G729 LSP decoding G729EV_G729_PSTpst.c G729 postfilter routines G7
47、29EV_G729B_CALCEXCcalcexc.c G729B CNG decoder G729EV_G729B_DECdec_SIDsid.c G729B SID decoder G729EV_G729B_QSIDGAINqsidgain.c G729B SID quantization G729EV_G729B_TABtab_DTXdtx.c G729B DTX tables G729EV_G729B_UTILutil.cC G729B utility routines G729EV_TDBWE_compression.c TDBWE post processing G729EV_MA
48、IN_decod.c MAIN decoder routine G729EV_MAIN_eEnvaAdaption.c MAIN pre/post echo reduction routines G729EV_CELP2S_decod.c CELP2S decoder routine G729EV_CELP2S_syn.c CELP2S core synthesis functions G729EV_CELP2S_post.c CELP2S postfiltering G729EV_FEC_clasdec.c FEC signal classification routines G729EV_
49、FEC_decbfi.c FEC Frame Erasure Concealment functions G729EV_FEC_ferdec.c FEC information decoder G729EV_FEC_onset.c FEC codebook reconstruction routines G729EV_FEC_pit_updt.c FEC pitch update functions ITU-T Rec. G.729.1 (2006)/Amd.3 (08/2007) 5 Table 26 Summary of general routines Filename Description G729EV_G729_ERRORerror.c G729 codebook error computation G729EV_G729_FILTERfilter.c G729 filter functions G729EV_G729_GAINPREDgainpred.c G729 gain predictor G