1、 ETSI TS 1Universal Mobile TelCodec for EnhANSI C(3GPP TS 26.4floppy3TECHNICAL SPECIFICATION126 443 V13.1.0 (2016elecommunications System (LTE; n anced Voice Services (EVS)I C code (floating-point) .443 version 13.1.0 Release 1316-04) (UMTS); S); 13) ETSI ETSI TS 126 443 V13.1.0 (2016-04)13GPP TS 26
2、.443 version 13.1.0 Release 13Reference RTS/TSGS-0426443vd10 Keywords 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 lucratif enregistre la Sous-Prfecture de Grasse
3、(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 present document shall not be modified withou
4、t 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 network drive within ETSI Secretariat. Users of the
5、 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 http:/portal.etsi.org/tb/status/status.asp If you find errors in the present document, please send your comment to on
6、e 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 as authorized by written permission of ETSI. The conten
7、t 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. European Telecommunications Standards Institute 2016. All rights reserved. DECTTM, PLUGTESTSTM, UMTSTMand the ETSI logo are Trade Mar
8、ks of ETSI registered for the benefit of its Members. 3GPPTM and LTE are Trade Marks of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners. GSM and the GSM logo are Trade Marks registered and owned by the GSM Association. ETSI ETSI TS 126 443 V13.1.0 (2016-04)23GP
9、P TS 26.443 version 13.1.0 Release 13Intellectual Property Rights IPRs essential or potentially essential to the present document may have been declared to ETSI. The information pertaining to these essential IPRs, if any, is publicly available for ETSI members and non-members, and can be found in ET
10、SI 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 available on the ETSI Web server (https:/ipr.etsi.org/). Pursuant to the ETSI IPR Policy, no
11、 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, or may be, or may become, essential to the present document. Foreword This Technical
12、Specification (TS) has been produced by ETSI 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 deli
13、verables. The cross reference between GSM, UMTS, 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 inte
14、rpreted as described in clause 3.2 of the ETSI 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 443 V13.1.0 (2016-04)33GPP TS 26.443 version 13.1.0 Release 13Contents Intel
15、lectual Property Rights 2g3Foreword . 2g3Modal verbs terminology 2g3Foreword . 4g31 Scope 5g32 References 5g33 Definitions and abbreviations . 6g33.1 Definitions 6g33.2 Abbreviations . 6g34 C code structure 6g34.1 Contents of the C source code 7g34.2 Program execution 7g35 File formats 7g35.1 Input/
16、output file format 7g35.2 Rate switching profile (encoder input) . 8g35.3 Parameter bitstream file (encoder output / decoder input) . 8g35.3.1 ITU-T G.192 compliant format . 8g35.3.2 Compact storage format file 8g35.4 VoIP parameter bitstream file (decoder input) . 8g35.5 Bandwidth switching profile
17、 (encoder input) . 9g35.6 Channel-aware configuration file (encoder input and decoder output) 9g35.7 JBM trace file (decoder output) 9g3Annex A (informative): Change history . 10g3History 11g3ETSI ETSI TS 126 443 V13.1.0 (2016-04)43GPP TS 26.443 version 13.1.0 Release 13Foreword This Technical Speci
18、fication has been produced by the 3rdGeneration 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 w
19、ith an identifying change of release date 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 fo
20、r all changes of substance, i.e. technical enhancements, corrections, updates, etc. z the third digit is incremented when editorial only changes have been incorporated in the document. ETSI ETSI TS 126 443 V13.1.0 (2016-04)53GPP TS 26.443 version 13.1.0 Release 131 Scope The present document contain
21、s an electronic copy of the ANSI C floating-point code for the Enhanced Voice Services (EVS) Codec. This ANSI C code is the unique alternative reference specification besides the ANSI-C fixed-point code for the EVS Codec (3GPP TS 26.442) for a standard compliant implementation of the EVS Codec (3GPP
22、 TS 26.445), Voice Activity Detection (VAD) (3GPP TS 26.451), Comfort Noise Generation (CNG) (3GPP TS 26.449), Discontinuous Transmission (DTX) (3GPP TS 26.450), Packet Loss Concealment (PLC) of Lost Packets (3GPP TS 26.447), Jitter Buffer Management (JBM) (3GPP TS 26.448), and AMR-WB Interoperable
23、Function (3GPP TS 26.446). Requirements for any implementation of the EVS codec to be standard compliant are specified in 3GPP TS 26.444 (Test sequences). 2 References The following documents contain provisions which, through reference in this text, constitute provisions of the present document. - R
24、eferences 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 version applies. In the case of a reference to a 3GPP document (including
25、 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 TR 21.905: “Vocabulary for 3GPP Specifications“. 2 3GPP TS 26.445: “Codec for Enhanced Voice Services (EVS); Detailed Algorithmic Description“. 3 3G
26、PP TS 26.451: “Codec for Enhanced Voice Services (EVS); Voice Activity Detection (VAD)“. 4 3GPP TS 26.449: “Codec for Enhanced Voice Services (EVS); Comfort Noise Generation (CNG) Aspects“. 5 3GPP TS 26.450: “Codec for Enhanced Voice Services (EVS); Discontinuous Transmission (DTX)“. 6 3GPP TS 26.44
27、7: “Codec for Enhanced Voice Services (EVS); Error Concealment of Lost Packets“. 7 3GPP TS 26.448: “Codec for Enhanced Voice Services (EVS); Jitter Buffer Management“. 8 3GPP TS 26.446: “Codec for Enhanced Voice Services (EVS); AMR-WB Backward Compatible Functions“. 9 IETF RFC 3550: “RTP: A Transpor
28、t Protocol for Real-Time Applications“. 10 Recommendation ITU-T G.191 (03/10): “Software tools for speech and audio coding standardization“. 11 Recommendation ITU-T G.192: “A common digital parallel interface for speech standardization activities“. ETSI ETSI TS 126 443 V13.1.0 (2016-04)63GPP TS 26.4
29、43 version 13.1.0 Release 133 Definitions and abbreviations 3.1 Definitions For the purposes of the present document, the definitions given in TR 21.905 1 apply. An abbreviation defined in the present document takes precedence over the definition of the same abbreviation, if any, in TR 21.905 1. 3.2
30、 Abbreviations For the purposes of the present document, the abbreviations given in TR 21.905 1 and the following apply. An abbreviation defined in the present document takes precedence over the definition of the same abbreviation, if any, in TR 21.905 1. ACELP Algebraic Code-Excited Linear Predicti
31、on AMR-WB Adaptive Multi Rate Wideband (codec) CNG Comfort Noise Generator DTX Discontinuous Transmission EVS Enhanced Voice Services FB Fullband FEC Frame Erasure Concealment IP Internet Protocol JBM Jitter Buffer Management MSB Most Significant Bit MTSI Multimedia Telephony Service for IMS NB Narr
32、owband PS Packet SwitchedPSTN Public Switched Telephone Network SAD Sound Activity Detection SC-VBR Source Controlled - Variable Bit Rate SID Silence Insertion Descriptor SWB Super Wideband VAD Voice Activity Detection WB Wideband WMOPS Weighted Millions of Operations Per Second 4 C code structure T
33、his 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 the present document. The ANSI-C code has been verified on the following platforms: - IBM PC compatible computers with Windows 7 operating sy
34、stems and Microsoft Visual C+ 2010 compiler, 32-bit. ANSI-C was selected as the programming language because portability was desirable. ETSI ETSI TS 126 443 V13.1.0 (2016-04)73GPP TS 26.443 version 13.1.0 Release 134.1 Contents of the C source code The C code is organized as follows: Table 1: Source
35、 code directory structure Directory Description README.txt information on how to compile Makefile UNIX style encoder Makefile Workspace_msvc/ Directory for the MSVC 2008 (or newer) project files lib_com/ Source code files used both in encoder and decoder lib_dec/ Source code files used solely in the
36、 decoder lib_enc/ Source code files used solely in the encoder The distributed files with suffix “c“ contain the source code and the files with suffix “h“ are the header files. The ROM data is contained in files named “rom_xxx“ with suffix “c“. Makefiles are provided for the platforms in which the C
37、 code has been verified (listed above). Once the software is installed, this directory will have a compiled version of the encoder (named EVS_cod) and the decoder (named EVS_dec). 4.2 Program execution The codec for Enhanced Voice Services is implemented in two programs: - EVS_cod: encoder; - EVS_de
38、c: decoder. The programs should be called like: - EVS_cod encoder options ; - EVS_dec decoder options . The input and output files contain 16-bit linear encoded PCM samples and the bitstream file contains encoded data. The encoder and decoder options will be explained by running the programs without
39、 any input arguments. See the file readme.txt for more information on how to run the encoder and decoder programs. 5 File formats This clause describes the file formats used by the encoder and decoder programs. The test sequences defined in 1 also use the file formats described here. 5.1 Input/outpu
40、t file format Input files read by the encoder and output files written by the decoder consist of 16-bit integer words per each data sample. The byte order in each word depends on the host architecture (e.g. LSB first on PCs, etc.). Both the encoder and the decoder program process complete frames cor
41、responding to multiples of 20 ms. The remaining samples are discarded. The encoder will pad the last frame to integer multiples of 20ms frames, i.e. n speech frames will be produced from an input file with a length between (n-1)*20ms+1 sample; n*20ms. The files produced by the decoder will always ha
42、ve a length of n*20ms. ETSI ETSI TS 126 443 V13.1.0 (2016-04)83GPP TS 26.443 version 13.1.0 Release 135.2 Rate switching profile (encoder input) The encoder program can optionally read in a rate switching profile file which specifies the encoding bitrate for each frame of the input data. The rate sw
43、itching profile is a binary file, generated by gen-rate-profile tool, which is part of STL 2009, as contained in ITU-T G.191 10. The rate switching profile contains 32-bit integer words where each word represents the encoding bitrate for each particular frame. The rate switching profile is recycled
44、if it contains less entries than the total number of frames in the input file. The rate switching profile can contain EVS primary mode bitrates and AMR-WB IO mode bitrates arbitrarily. I.e. switching between the two modes can be specified by the rate switching profile. 5.3 Parameter bitstream file (
45、encoder output / decoder input) The files produced by the speech/audio encoder/expected by the speech decoder contain an arbitrary number of frames in the following available formats. 5.3.1 ITU-T G.192 compliant format SYNC_WORD DATA_LENGTH B1 B2 Bnn Each box corresponds to one Word16 value in the b
46、itstream file, for a total of 2+nn words or 4+2nn bytes per frame, where nn is the number of encoded bits in the frame. Each encoded bit is represented as follows: Bit 0 = 0x007f, Bit 1 = 0x0081. The fields have the following meaning: - SYNC_WORD: Word to ensure correct frame synchronization between
47、 the encoder and the decoder. It is also used to indicate the occurrences of bad frames. In the encoder output: (0x6b21) In the decoder input: Good frames (0x6b21) Bad frames (0x6b20) - DATA_LENGTH: Length of the speech data. Codec mode and frame type is extracted in the decoder using this parameter
48、 5.3.2 Compact storage format file The encoder and decoder programs can optionally write and read a file in the octet-based compact storage format. The compact storage format is specified in Annex A.2.6 of 2. 5.4 VoIP parameter bitstream file (decoder input) Packet size Arrival time RTP header G.192
49、 format (see 6.3.1) The fields have the following size and meaning: - Packet size: 32 bit unsigned integer (= 12 + 2 + DATA_LENGTH). - Arrival time: 32 bit unsigned integer in ms. - RTP header: 96 bits (see RFC 3550 9), including RTP timestamp and SSRC. ETSI ETSI TS 126 443 V13.1.0 (2016-04)93GPP TS 26.443 version 13.1.0 Release 135.5 Bandwidth switching profile (encoder input) The encoder program can optionally read in a bandwidth switching profile, which specifies the encoding bandwidth for each frame of speech processed. T