1、 ETSI TS 126 104 V15.0.0 (2018-07) Digital cellular telecommunications system (Phase 2+) (GSM); Universal Mobile Telecommunications System (UMTS); LTE; ANSI-C code for the floating-point Adaptive Multi-Rate (AMR) speech codec (3GPP TS 26.104 version 15.0.0 Release 15) TECHNICAL SPECIFICATION ETSI ET
2、SI TS 126 104 V15.0.0 (2018-07)13GPP TS 26.104 version 15.0.0 Release 15Reference RTS/TSGS-0426104vf00 Keywords GSM,LTE,UMTS ETSI 650 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16 Siret N 348 623 562 00017 - NAF 742 C Association but non lu
3、cratif enregistre la Sous-Prfecture de Grasse (06) N 7803/88 Important notice The present document can be downloaded from: http:/www.etsi.org/standards-search The present document may be made available in electronic versions and/or in print. The content of any electronic and/or print versions of the
4、 present document shall not be modified without the prior written authorization of ETSI. In case of any existing or perceived difference in contents between such versions and/or in print, the only prevailing document is the print of the Portable Document Format (PDF) version kept on a specific netwo
5、rk drive within ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at https:/portal.etsi.org/TB/ETSIDeliverableStatus.aspx If you find errors
6、 in the present document, please send your comment to one of the following services: https:/portal.etsi.org/People/CommiteeSupportStaff.aspx Copyright Notification No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm except
7、 as authorized by written permission of ETSI. The content of the PDF version shall not be modified without the written authorization of ETSI. The copyright and the foregoing restriction extend to reproduction in all media. ETSI 2018. All rights reserved. DECTTM, PLUGTESTSTM, UMTSTMand the ETSI logo
8、are trademarks of ETSI registered for the benefit of its Members. 3GPPTM and LTETMare trademarks of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners. oneM2M logo is protected for the benefit of its Members. GSMand the GSM logo are trademarks registered and owned
9、 by the GSM Association. ETSI ETSI TS 126 104 V15.0.0 (2018-07)23GPP TS 26.104 version 15.0.0 Release 15Intellectual Property Rights Essential patents IPRs essential or potentially essential to normative deliverables may have been declared to ETSI. The information pertaining to these essential IPRs,
10、 if any, is publicly available for ETSI members and non-members, and can be found in ETSI SR 000 314: “Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in respect of ETSI standards“, which is available from the ETSI Secretariat. Latest updates are avail
11、able on the ETSI Web server (https:/ipr.etsi.org/). Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web server) which are
12、, or may be, or may become, essential to the present document. Trademarks The present document may include trademarks and/or tradenames which are asserted and/or registered by their owners. ETSI claims no ownership of these except for any which are indicated as being the property of ETSI, and convey
13、s no right to use or reproduce any trademark and/or tradename. Mention of those trademarks in the present document does not constitute an endorsement by ETSI of products, services or organizations associated with those trademarks. Foreword This Technical Specification (TS) has been produced by ETSI
14、3rd Generation Partnership Project (3GPP). The present document may refer to technical specifications or reports using their 3GPP identities, UMTS identities or GSM identities. These should be interpreted as being references to the corresponding ETSI deliverables. The cross reference between GSM, UM
15、TS, 3GPP and ETSI identities can be found under http:/webapp.etsi.org/key/queryform.asp. Modal verbs terminology In the present document “shall“, “shall not“, “should“, “should not“, “may“, “need not“, “will“, “will not“, “can“ and “cannot“ are to be interpreted as described in clause 3.2 of the ETS
16、I Drafting Rules (Verbal forms for the expression of provisions). “must“ and “must not“ are NOT allowed in ETSI deliverables except when used in direct citation. ETSI ETSI TS 126 104 V15.0.0 (2018-07)33GPP TS 26.104 version 15.0.0 Release 15Contents Intellectual Property Rights 2g3Foreword . 2g3Moda
17、l verbs terminology 2g3Foreword . 4g31 Scope 5g32 Normative references . 5g33 Definitions and abbreviations . 6g33.1 Definitions 6g33.2 Abbreviations . 6g34 C code structure 6g34.1 Contents of the C source code 6g34.2 Program execution 7g34.3 Coding style 7g34.4 Code hierarchy . 7g34.5 Variables, co
18、nstants and tables . 10g34.5.1 Description of constants used in the C code . 11g34.5.2 Description of fixed tables used in the C code 11g34.5.3 Static variables used in the C code . 13g35 Homing procedure 17g36 File formats 23g36.1 Speech file (encoder input / decoder output) 23g36.2 Mode control fi
19、le (encoder input) . 23g36.3 Parameter bitstream file (encoder output / decoder input) . 23g3Annex A (informative): Change History 24g3History 25g3ETSI ETSI TS 126 104 V15.0.0 (2018-07)43GPP TS 26.104 version 15.0.0 Release 15Foreword This Technical Specification (TS) has been produced by the 3rdGen
20、eration Partnership Project (3GPP). The contents of the present document are subject to continuing work within the TSG and may change following formal TSG approval. Should the TSG modify the contents of the present document, it will be re-released by the TSG with an identifying change of release dat
21、e and an increase in version number as follows: Version x.y.z where: x the first digit: 1 presented to TSG for information; 2 presented to TSG for approval; 3 or greater indicates TSG approved document under change control. y the second digit is incremented for all changes of substance, i.e. technic
22、al enhancements, corrections, updates, etc. z the third digit is incremented when editorial only changes have been incorporated in the document. ETSI ETSI TS 126 104 V15.0.0 (2018-07)53GPP TS 26.104 version 15.0.0 Release 151 Scope This Technical Standard (TS) contains an electronic copy of the ANSI
23、-C code for a floating-point implementation of the Adaptive Multi-Rate codec. This floating-point codec specification is mainly targeted to be used in multimedia applications such as the 3G-324M terminal specified in 3GPP TS 26.110, or in packet-based (e.g., H.323) applications. The bit-exact fixed-
24、point ANSI-C code in 3GPP TS 26.073 remains the preferred implementation for all applications, but the floating-point codec may be used instead of the fixed-point codec when the implementation platform is better suited for a floating-point implementation. It has been verified that the fixed-point an
25、d floating-point codecs interoperate with each other without any artefacts. The floating-point ANSI-C code in this specification is the only standard conforming non-bit-exact implementation of the Adaptive Multi Rate speech transcoder (3GPP TS 26.090 2), Voice Activity Detection (3GPP TS 26.094 6),
26、comfort noise generation (3GPP TS 26.092 4), and source controlled rate operation (3GPP TS 26.093 5). The floating-point code also contains example solutions for substituting and muting of lost frames (3GPP TS 26.091 3). The fixed-point specification in 26.073 shall remain the only allowed implement
27、ation for the 3G mandatory speech service and the use of the floating-point codec is strictly limited to other services. The floating-point encoder in this specification is a non-bit-exact implementation of the fixed-point encoder producing quality indistinguishable from that of the fixed-point enco
28、der. The decoder in this specification is functionally a bit-exact implementation of the fixed-point decoder, but the code has been optimized for speed and the standard fixed-point libraries are not used as such. 2 Normative references The following documents contain provisions which, through refere
29、nce in this text, constitute provisions of the present document. - References are either specific (identified by date of publication, edition number, version number, etc.) or non-specific. - For a specific reference, subsequent revisions do not apply. - For a non-specific reference, the latest versi
30、on applies. In the case of a reference to a 3GPP document (including a GSM document), a non-specific reference implicitly refers to the latest version of that document in the same Release as the present document. 1 3GPP TS 26.074: “AMR Speech Codec; Test sequences“. 2 3GPP TS 26.090: “AMR Speech Cod
31、ec; Speech transcoding“. 3 3GPP TS 26.091: “AMR Speech Codec; Substitution and muting of lost frames“. 4 3GPP TS 26.092: “AMR Speech Codec; Comfort noise aspects“. 5 3GPP TS 26.093: “AMR Speech Codec; Source controlled rate operation“. 6 3GPP TS 26.094: “AMR Speech Codec; Voice Activity Detection“.
32、7 3GPP TS 26.073: “ANSI-C code for the Adaptive Multi Rate speech codec“. 8 3GPP TS 26.101: “AMR Speech Codec Frame Structure“. 9 RFC 3267: “A Real-Time Transport Protocol (RTP) Payload Format and File Storage Format for Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB) Audio Codec
33、s“, June 2002. ETSI ETSI TS 126 104 V15.0.0 (2018-07)63GPP TS 26.104 version 15.0.0 Release 153 Definitions and abbreviations 3.1 Definitions Definition of terms used in the present document, can be found in 3GPP TS 26.090 2, 3GPP TS 26.091 3, 3GPP TS 26.092 4, 3GPP TS 26.093 5, and 3GPP TS 26.094 6
34、. 3.2 Abbreviations For the purpose of the present document, the following abbreviations apply: ANSI American National Standards Institute ETS European Telecommunication Standard GSM Global System for Mobile communications I/O Input/OutputRAM Random Access Memory ROM Read Only Memory 4 C code struct
35、ure This clause gives an overview of the structure of the floating-point C code and provides an overview of the contents and organization of the C code attached to this document. The basic structure of the floating-point C code follows that of the bit-exact fixed-point code 7. The C code has been ve
36、rified on the following systems: - IBM PC/AT compatible computers with Windows NT40 and Microsoft Visual C+ v.5.0 compiler; - HP workstations and GNU gcc compiler; - IBM PC/AT compatible computers with Linux operating system and GNU gcc compiler; ANSI-C 9899 was selected as the programming language
37、because portability was desirable 4.1 Contents of the C source code The C code distribution has all files in the root level. The files with suffix “c“ contain the source code and the files with suffix “h“ are the header files. The ROM data is contained in “rom“ files with suffix “h“. The C code does
38、 not contain any speech coder installation verification data files. Verification for the bit-exact decoder is defined in specification 3GPP TS 26.073 7. Makefiles are provided for the platforms in which the C code has been verified (listed above). Once the software is installed, this directory will
39、have a compiled version of encoder and decoder and all the object files. ETSI ETSI TS 126 104 V15.0.0 (2018-07)73GPP TS 26.104 version 15.0.0 Release 154.2 Program execution The Adaptive Multi-Rate codec is implemented in two programs: - (encoder) speech encoder; - (decoder) speech decoder. The prog
40、rams should be called like: encoder -dtx mode speech_file bitstream_file or encoder -dtx -modefile=mode_file speech_file bitstream_file decoder The speech files contain 16-bit linear encoded PCM speech samples and the parameter files contain encoded speech data and some additional flags. See the fil
41、e readme.txt for more information on how to run the encoder and decoder programs. 4.3 Coding style The C code has been written according to structuring conventions used in 3GPP TS 26.073 7. Encoder and decoder state structures are allocated and initialized with special initializing functions. There
42、are no separate functions for each module, as opposed to the fixed-point implementation in 3GPP TS 26.073 7. 4.4 Code hierarchy The code hierarchy follows the one specified in 3GPP TS 26.073 7. Figures 1 to 4 are call graphs that show the functions used in the speech codec, including the functions o
43、f VAD, DTX, and comfort noise generation. Each column represents a call level and each cell a function. The functions contain calls to the functions in rightwards neighbouring cells. The time order in the call graphs is from the top downwards as the processing of a frame advances. All standard C fun
44、ctions, such as printf(), fwrite(), etc., have been omitted. The encoder call graph is broken down into three separate call graphs, shown in Tables 1 to 3. ETSI ETSI TS 126 104 V15.0.0 (2018-07)83GPP TS 26.104 version 15.0.0 Release 15Table 1: Speech encoder call structure Speech_Encode_Frame Pre_Pr
45、ocess cod_amr vad filter_bank first_filter_stagefilter5 filter3 level_calculation vad_decision complex_estimate_adapt complex_vadnoise_estimate_update update_cntrl hangover_addition tx_dtx_handler lpc AutocorrLevinsonlsp Az_lsp Chebps Q_plsf_5 Lsp_lsfLsf_wtVq_subvecVq_subvec_s Reorder_lsfLsf_lspInt_
46、lpc_1and3_2 Lsp_az Get_lsp_pol Int_lpc_1and3 Lsp_az Get_lsp_polQ_plsf_3 Lsp_lsf Lsf_wtVq_subvec3Vq_subvec4 Reorder_lsf Lsf_lspInt_lpc_1to3_2 Lsp_az Get_lsp_pol Int_lpc_1to3 Lsp_az Get_lsp_poldtx_buffer Dotproduct40 dtx_enc Lsp_lsfReorder_lsf Lsf_lsp Q_plsf_3 Lsp_lsf Lsf_wtVq_subvec3 Vq_subvec4Reorde
47、r_lsf Lsf_lspcheck_lsp pre_big Weight_Ai Residu Syn_filtol_ltp Pitch_ol vad_tone_detection_updateLag_max vad_tone_detection comp_corr hp_maxPitch_ol_wgh comp_corr Lag_max_wght vad_tone_detection_update vad_tone_detectiongmed_n hp_max2vad_pitch_detection subframePreProc Weight_Ai Syn_filtResidu cl_lt
48、p Pitch_fr getRangeNorm_Corr Dotproduct40 searchFrac Interpol_3or6Enc_lag3 Enc_lag6Pred_lt_3or6 G_pitch Dotproduct40 check_gp_clipping q_gain_pitchcbsearch see Table 2 gainQuant see Table 3update_gp_clipping Copy subframePostProc Syn_filtPred_lt_3or6 Convolve ETSI ETSI TS 126 104 V15.0.0 (2018-07)93
49、GPP TS 26.104 version 15.0.0 Release 15Table 2: cbsearch call structure cbsearch code_2i40_9bits cor_h_x Dotproduct40 set_signcor_h Dotproduct40 search_2i40_9bits build_code_2i40_9bits code_2i40_11bits cor_h_x Dotproduct40 set_sign cor_h Dotproduct40search_2i40_11bits build_code_2i40_11bitscode_3i40_14bits cor_h_x Dotproduct40 set_signcor_h Dotproduct40 search_3i40 build_code_3i40_14bits code_4i40_17bits cor_h_x Dotproduct40 set_sign cor_h Dotproduct40search_4i40 build_code_4i40 code_8i40_31bits cor_h_x Dotproduct40 s
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1