1、 International Telecommunication Union ITU-T G.729.1TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU Corrigendum 1(08/2009) SERIES G: TRANSMISSION SYSTEMS AND MEDIA, DIGITAL SYSTEMS AND NETWORKS Digital terminal equipments Coding of voice and audio signals G.729-based embedded variable bit-rate coder
2、: An 8-32 kbit/s scalable wideband coder bitstream interoperable with G.729 Corrigendum 1: Corrections to source code Recommendation ITU-T G.729.1 (2006) Corrigendum 1 ITU-T G-SERIES RECOMMENDATIONS TRANSMISSION SYSTEMS AND MEDIA, DIGITAL SYSTEMS AND NETWORKS INTERNATIONAL TELEPHONE CONNECTIONS AND
3、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.399 GENERAL CHARACTERISTICS OF INTERNATIONAL CARRIER TELEPHONE SYSTEMS ON RADIO-RELAY OR SATELLITE
4、 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 EQUIPMENTS G.700G.799 General G.700G.709 Coding of voice and audio signals G.710G.729Principal cha
5、racteristics of primary multiplex equipment G.730G.739 Principal characteristics of second order multiplex equipment G.740G.749 Principal characteristics of higher order multiplex equipment G.750G.759 Principal characteristics of transcoder and digital multiplication equipment G.760G.769 Operations,
6、 administration and maintenance features of transmission equipment G.770G.779 Principal characteristics of multiplexing 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 MULTI
7、MEDIA QUALITY OF SERVICE AND PERFORMANCE GENERIC AND USER-RELATED ASPECTS G.1000G.1999 TRANSMISSION MEDIA CHARACTERISTICS G.6000G.6999 DATA OVER TRANSPORT GENERIC ASPECTS G.7000G.7999 PACKET OVER TRANSPORT ASPECTS G.8000G.8999 ACCESS NETWORKS G.9000G.9999 For further details, please refer to the lis
8、t of ITU-T Recommendations. Rec. ITU-T G.729.1 (2006)/Cor.1 (08/2009) i Recommendation ITU-T G.729.1 G.729-based embedded variable bit-rate coder: An 8-32 kbit/s scalable wideband coder bitstream interoperable with G.729 Corrigendum 1 Corrections to source code Summary Corrigendum 1 to Recommendatio
9、n ITU-T G.729.1 contains the details of several problems that have been identified recently in the C-code of the main body of Recommendation ITU-T G.729.1, and of its Annexes B, C and D. Corrigendum 1 does not introduce any changes to the text description of ITU-T G.729.1 (including Annexes A, B, C
10、and D). Corrigendum 1 revises the source code to Release 1.5, which is found in the electronic attachment. The attachment incorporates the ANSI C source code for the main body of ITU-T G.729.1, Annex B, Annex C and Annex D (including updated test vectors for Annex C) and all approved corrections til
11、l 29 September 2009. Source Corrigendum 1 to Recommendation ITU-T G.729.1 (2006) was approved on 29 August 2009 by ITU-T Study Group 16 (2009-2012) under Recommendation ITU-T A.8 procedures. ii Rec. ITU-T G.729.1 (2006)/Cor.1 (08/2009) FOREWORD The International Telecommunication Union (ITU) is the
12、United Nations specialized agency in the field of telecommunications, information and communication technologies (ICTs). The ITU Telecommunication Standardization Sector (ITU-T) is a permanent organ of ITU. ITU-T is responsible for studying technical, operating and tariff questions and issuing Recom
13、mendations 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 topics for study by the ITU-T study groups which, in turn, produce Recommendations on these topics. The
14、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 prepared on a collaborative basis with ISO and IEC. NOTE In this Recommendation, the expression “Adminis
15、tration“ is used for conciseness to indicate both a telecommunication administration and a recognized operating agency. Compliance with this Recommendation is voluntary. However, the Recommendation may contain certain mandatory provisions (to ensure e.g., interoperability or applicability) and compl
16、iance 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 express requirements. The use of such words does not suggest that compliance with the Recommendation i
17、s 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 Property Right. ITU takes no position concerning the evidence, validity or applicability of claimed In
18、tellectual 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 received notice of intellectual property, protected by patents, which may be required to implement this Recommendation.
19、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 2010 All rights reserved. No part of this publication may be reproduced, by any means whatsoever, without th
20、e prior written permission of ITU. Rec. ITU-T G.729.1 (2006)/Cor.1 (08/2009) iii CONTENTS Page 1 Scope 1 2 Details of the C-code changes 1 2.1 Corrections to G.729.1 main body . 1 2.2 Corrections to ITU-T G.729.1 Annex B . 1 2.3 Corrections to ITU-T G.729.1 Annex C . 2 2.4 Corrections to ITU-T G.729
21、.1 Annex D 4 Rec. ITU-T G.729.1 (2006)/Cor.1 (08/2009) 1 Recommendation ITU-T G.729.1 G.729-based embedded variable bit-rate coder: An 8-32 kbit/s scalable wideband coder bitstream interoperable with G.729 Corrigendum 1 Corrections to source code 1 Scope This corrigendum contains the details of the
22、problems that have been identified and the source code corrections which have been included to address these. Corrigendum 1 does not introduce any changes to the text description of ITU-T G.729.1 (including Annexes A, B, C and D). The text below is organized into clauses for each of the affected fil
23、es and the details of the corrections and is provided as assistance to the reader in understanding the modifications introduced. It should be noted that, since the C code of ITU-T G.729.1 takes precedence over the text description, the definitive source of information is the ANSI C source code found
24、 in the electronic attachment to this corrigendum. Corrigendum 1 revises the source code to Release 1.5. 2 Details of the C-code changes 2.1 Corrections to G.729.1 main body A problem in case of low delay mode at 14 kbit/s in presence of frame erasures has been reported. It was identified that the p
25、roblem is due to the usage of the local array BfAq prior to its initialization in some specific conditions (low delay mode at 14 kbit/s, one single erased frame). Therefore, in the file G729EV_MAIN_decod.c, lines 394-403: IF(sub(decstat-decStG729.bfi_cnt, 1) = 0) G729EV_FEC_mod_adapt_codebook(decsta
26、t-decStG729.old_exc, ind_fer2, pitch_buf, L_enr_q, BfAq + 3 * G729EV_G729_MP1); ELSE G729EV_FEC_mod_adapt_codebook(decstat-decStG729.old_exc, ind_fer2, pitch_buf, L_enr_q, decstat-mem_Az + 3 * G729EV_G729_MP1); are replaced by the code: G729EV_FEC_mod_adapt_codebook(decstat-decStG729.old_exc, ind_fe
27、r2, pitch_buf, L_enr_q, decstat-mem_Az + 3 * G729EV_G729_MP1); This correction does not change the bit exactness of the output, the test vectors do not need to be replaced. 2.2 Corrections to ITU-T G.729.1 Annex B The same problems described in clause 2.1 for G.729.1 main body exist for Annex B, whi
28、ch specifies an alternative implementation based on floating point arithmetic. 2 Rec. ITU-T G.729.1 (2006)/Cor.1 (08/2009) In the file G729EV_MAIN_decod.c, lines 293-298: if (decstat-decStG729.bfi_cnt = 1) G729EV_FEC_mod_adapt_codebook(decstat-decStG729.old_exc, ind_fer2, pitch_buf, enr_q, BfAq + 3
29、* G729EV_G729_MP1); else G729EV_FEC_mod_adapt_codebook(decstat-decStG729.old_exc, ind_fer2, pitch_buf, enr_q, decstat-mem_Az + 3 * G729EV_G729_MP1); are replaced by the code: G729EV_FEC_mod_adapt_codebook(decstat-decStG729.old_exc, ind_fer2, pitch_buf, enr_q, decstat-mem_Az + 3 * G729EV_G729_MP1); 2
30、.3 Corrections to ITU-T G.729.1 Annex C 2.3.1 Correction 1 Alignment with Amd.5 As corrected in Amd.5 for ITU-T G.729.1 main body, in file G729EV_CELP2S_decod.c, line 558: nb_celp_param-power_fixi0_2sub = L_temp2; is replaced by the code: nb_celp_param-power_fixi0_2sub = L_shl(L_temp2, 2); 2.3.2 Cor
31、rection 2 Alignment with Amd.5 As corrected in Amd.5 for ITU-T G.729.1 main Body, ITU-T G.729.1 Annex B and ITU-T G.729.1 Annex D, in file G729EV_CELP2S_encod.c, when the bitrate is equal to 8 kbit/s, no 12 kbit/s synthesis needs to be computed, but the memory for 12 kbit/s CELP should be updated by
32、 the memory of 8 kbit/s CELP. Therefore, in the file G729EV_CELP2S_encod.c, lines 934-935: IF(sub(pCodStat-rate, 8000) = 0) G729EV_G729_Copy(synth_ptr, DataSynth, G729EV_G729_L_FRAME); are replaced by the code: IF (sub(pCodStat-rate, 8000) = 0) G729EV_G729_Copy(synth_ptr, DataSynth, G729EV_G729_L_FR
33、AME); G729EV_G729_Copy(pCodStat-mem_syn, pCodStat-mem_synth, G729EV_G729_M); 2.3.3 Correction 3 Alignment with Amd.5 As corrected in Amd.5 for ITU-T G.729.1 main body, ITU-T G.729.1 Annex B and ITU-T G.729.1 Annex D, the C source code of the initialization procedure in the file G729EV_CELP2S_encod.c
34、, line 55: G729EV_G729_Set_zero(pCodStat-old_speech, G729EV_G729_L_TOTAL); is replaced by the code: G729EV_G729_Set_zero(pCodStat-old_speech, G729EV_G729_MEM_SPEECH); 2.3.4 Correction 4 Addition of an initialization statement The array Sid_Layer indicates if narrow-band enhancement layer happens for
35、 each 10 ms frame (i=1,2). For G.729B bitstream input mode, Sid_Layeri should be set as 0 for both 10 ms frames, since no enhancement layer is used for this bitstream. Rec. ITU-T G.729.1 (2006)/Cor.1 (08/2009) 3 Therefore, in the file G729EV_MAIN_decoder.c, after line 350, where the code is: nb_bits
36、_read = nb_bits_sent; a new line of code is added: Sid_Layeri = 0; 2.3.5 Correction 5 Solving usage of uninitialized array The problem reported in clause 2.1 is also present in Annex C. Therefore, in the file G729EV_MAIN_decod.c, lines 446-455: IF(sub(decstat-decStG729.bfi_cnt, 1) = 0) G729EV_FEC_mo
37、d_adapt_codebook(decstat-decStG729.old_exc, ind_fer2, pitch_buf, L_enr_q, BfAq + 3 * G729EV_G729_MP1); ELSE G729EV_FEC_mod_adapt_codebook(decstat-decStG729.old_exc, ind_fer2, pitch_buf, L_enr_q, decstat-mem_Az + 3 * G729EV_G729_MP1); are replaced by the code: G729EV_FEC_mod_adapt_codebook(decstat-de
38、cStG729.old_exc, ind_fer2, pitch_buf, L_enr_q, decstat-mem_Az + 3 * G729EV_G729_MP1); 2.3.6 Correction 6 Bitrate switching A problem has been discovered in both Annex C and Annex D which contain the bitrate switching algorithm. The problem causes the algorithm to wrongly reset the counter (decstat-c
39、ount_rcv_dtx) to perform a smooth narrowband to wideband transition during the DTX/CNG mode for some cases. The correct counter reset is necessary to achieve the desired performance in all test vectors. Therefore, in the file G729EV_MAIN_decod.c, lines 1056-1068: #if(WMOPS) test(); #endif /* First S
40、ID after speech */ IF (sub(decstat-prev_ftyp_null, 1) = 0) #if(WMOPS) move16(); #endif ELSE IF(sub(decstat-old_SID_rate, RATE_SID_NB + RATE_SID) prev_ftyp_null, 1) = 0) if (sub(decstat-prev_rate, 14000) count_rcv_dtx = (Word16) 0; #if(WMOPS) move16(); #endif 4 Rec. ITU-T G.729.1 (2006)/Cor.1 (08/200
41、9) ELSE IF(sub(decstat-old_SID_rate, RATE_SID_NB + RATE_SID) decStG729.bfi_cnt = 1) G729EV_FEC_mod_adapt_codebook(decstat-decStG729.old_exc, ind_fer2, pitch_buf, enr_q, BfAq + 3 * G729EV_G729_MP1); else G729EV_FEC_mod_adapt_codebook(decstat-decStG729.old_exc, ind_fer2, pitch_buf, enr_q, decstat-mem_
42、Az + 3 * G729EV_G729_MP1); are replaced by the code: G729EV_FEC_mod_adapt_codebook(decstat-decStG729.old_exc, ind_fer2, pitch_buf, enr_q, decstat-mem_Az + 3 * G729EV_G729_MP1); 2.4.3 Correction 3 Bitrate switching The problem reported in clause 2.3.6 is also present in Annex D. Therefore, in the fil
43、e G729EV_MAIN_decod.c, lines 852-856: /* First SID after speech */ if (decstat-prev_rate prev_ftyp_null = 1) decstat-count_rcv_dtx = 0; else are replaced by the code: /* First SID after speech */ if (decstat-prev_ftyp_null = 1) if (decstat-prev_rate count_rcv_dtx = 0; else Printed in Switzerland Gen
44、eva, 2010 SERIES OF ITU-T RECOMMENDATIONS Series A Organization of the work of ITU-T Series D General tariff principles Series E Overall network operation, telephone service, service operation and human factors Series F Non-telephone telecommunication services Series G Transmission systems and media
45、, digital systems and networks Series H Audiovisual and multimedia systems Series I Integrated services digital network Series J Cable networks and transmission of television, sound programme and other multimedia signals Series K Protection against interference Series L Construction, installation an
46、d protection of cables and other elements of outside plant Series M Telecommunication management, including TMN and network maintenance Series N Maintenance: international sound programme and television transmission circuits Series O Specifications of measuring equipment Series P Terminals and subje
47、ctive and objective assessment methods Series Q Switching and signalling Series R Telegraph transmission Series S Telegraph services terminal equipment Series T Terminals for telematic services Series U Telegraph switching Series V Data communication over the telephone network Series X Data networks, open system communications and security Series Y Global information infrastructure, Internet protocol aspects and next-generation networks Series Z Languages and general software aspects for telecommunication systems