1、 International Telecommunication Union ITU-T G.191TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (03/2010) SERIES G: TRANSMISSION SYSTEMS AND MEDIA, DIGITAL SYSTEMS AND NETWORKS International telephone connections and circuits Software tools for transmission systems Software tools for speech and au
2、dio coding standardization Recommendation ITU-T G.191 ITU-T G-SERIES RECOMMENDATIONS TRANSMISSION SYSTEMS AND MEDIA, DIGITAL SYSTEMS AND NETWORKS INTERNATIONAL TELEPHONE CONNECTIONS AND CIRCUITS G.100G.199 Transmission planning and the E-model G.100G.109 General Recommendations on the transmission q
3、uality for an entire international telephone connection G.110G.119 General characteristics of national systems forming part of international connections G.120G.129 General characteristics of the 4-wire chain formed by the international circuits and national extension circuits G.130G.139 General char
4、acteristics of the 4-wire chain of international circuits; international transit G.140G.149 General characteristics of international telephone circuits and national extension circuits G.150G.159 Apparatus associated with long-distance telephone circuits G.160G.169 Transmission plan aspects of specia
5、l circuits and connections using the international telephone connection network G.170G.179 Protection and restoration of transmission systems G.180G.189 Software tools for transmission systems G.190G.199GENERAL CHARACTERISTICS COMMON TO ALL ANALOGUE CARRIER-TRANSMISSION SYSTEMS G.200G.299 INDIVIDUAL
6、 CHARACTERISTICS OF INTERNATIONAL CARRIER TELEPHONE SYSTEMS ON METALLIC LINES G.300G.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.49
7、9 TRANSMISSION MEDIA AND OPTICAL SYSTEMS CHARACTERISTICS G.600G.699 DIGITAL TERMINAL EQUIPMENTS G.700G.799 DIGITAL NETWORKS G.800G.899 DIGITAL SECTIONS AND DIGITAL LINE SYSTEM G.900G.999 MULTIMEDIA QUALITY OF SERVICE AND PERFORMANCE GENERIC AND USER-RELATED ASPECTS G.1000G.1999 TRANSMISSION MEDIA CH
8、ARACTERISTICS 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 list of ITU-T Recommendations. Rec. ITU-T G.191 (03/2010) i Recommendation ITU-T G.191 Software tools for speec
9、h and audio coding standardization Summary This revision only introduces changes to ITU-T G.191 Annex A, which describes the ITU-T Software Tools (STL) containing a high-quality, portable C code library for speech processing applications. This new release of the STL dubbed STL2009 incorporates many
10、changes in software and manual. The new sets of tools added are: ITU-T G.728 fixed-/floating-point executables, basic ITU-T G.722 frame-erasure concealments (G.722 PLC0 and PLC1), program ROM counting, floating point complexity evaluation, stereo operation and bitstream truncation. There have been a
11、lso updates such as addition of new filters to rate change tools, more options added for frequency response calculations, adaptation of error-insertion device to embedded-variable bitstream, addition of impulse responses to the reverberation processing tool and update to make ITU-T G.722/ITU-T G.192
12、 compliant. Corrections of several known problems have also been implemented. The associated STL users manual has also been updated. This Recommendation includes an electronic attachment containing STL2009 Software Tool Library and manual. History Edition Recommendation Approval Study Group 1.0 ITU-
13、T G.191 1993-03-12 XV 2.0 ITU-T G.191 1996-11-11 15 3.0 ITU-T G.191 2000-11-17 16 4.0 ITU-T G.191 2005-09-13 16 5.0 ITU-T G.191 2010-03-29 16 ii Rec. ITU-T G.191 (03/2010) FOREWORD The International Telecommunication Union (ITU) is the United Nations specialized agency in the field of telecommunicat
14、ions, 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 Recommendations on them with a view to standardizing telecommunicatio
15、ns 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 approval of ITU-T Recommendations is covered by the procedure la
16、id 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 “Administration“ is used for conciseness to indicate both a telecommunic
17、ation 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 compliance with the Recommendation is achieved when all of these mand
18、atory 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 is required of any party. INTELLECTUAL PROPERTY RIGHTS ITU draws
19、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 Intellectual Property Rights, whether asserted by ITU members or o
20、thers outside of the Recommendation development process. As of the date of approval of this Recommendation, ITU had not received notice of intellectual property, protected by patents, which may be required to implement this Recommendation. However, implementers are cautioned that this may not repres
21、ent 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 the prior written permission of ITU. Rec. ITU-T G.191 (03/2010
22、) iii CONTENTS Page 1 General 1 2 Software tools . 1 3 License and copyright . 1 Annex A List of software tools available 2 Annex B ITU-T software tools General Public License . 19 Electronic attachment: STL2009 Software Tool Library and manual Rec. ITU-T G.191 (03/2010) 1 Recommendation ITU-T G.191
23、 Software tools for speech and audio coding standardization 1 General In the process of generating speech and audio coding standards, the following situations often happen: a) In many cases, experimental results generated with different software tools may not be directly compared. b) Software tools
24、used by different organizations may not perfectly conform to related ITU-T Recommendations, which may delay ITU-T standardization processes. c) ITU-T Recommendations may leave scope for different implementations. d) New speech and audio coding standards are increasing in complexity, leading to non-b
25、itexact specifications; furthermore, appropriate testing procedures to assure interoperability of different implementations are needed. The need for a common set of tools has been recognized in past ITU-T standardization activities of speech algorithms. As a consequence, a library of portable, inter
26、workable and reliable software routines has been established. 2 Software tools To clarify the use of the set of software tools, arranged as a software tool library, the ITU-T makes the following recommendations: 1) The software tools specified in Annex A should be used as building modules of signal
27、processing blocks to be used in the process of generation of ITU-T Recommendations, particularly those concerned with speech and audio coding algorithms. 2) Some of the tools shall be used in procedures for the verification of interoperability of ITU-T standards, mainly of speech and audio coding al
28、gorithms whose description is in terms of non-bitexact specifications. 3) The use of these modules should be made strictly in accordance with the technical instructions of their attached documentation, and should respect the following terms. 3 License and copyright The modules in the ITU-T Software
29、Tool Library (STL) are free software; they can be redistributed and/or modified under the terms of the “ITU-T software tools General Public License“ of Annex B, as published by the ITU-T; this applies to any of the versions of the modules in the STL. The STL has been carefully tested and it is belie
30、ved that both the modules and the example programs on their usage conform to their description documents. Nevertheless, the ITU-T STL is provided “as is“, in the hope that it will be useful, but without any warranty. The STL is intended to help the scientific community to achieve new standards in te
31、lecommunications more efficiently, and for such must not be sold, entirely or in parts. The original developers, except where otherwise noted, retain ownership of their copyright, and allow their use under the terms and conditions of the “ITU-T software tools General Public License“. 2 Rec. ITU-T G.
32、191 (03/2010) Annex A List of software tools available (This annex forms an integral part of this Recommendation) This annex contains a list with a short description of the software tools available in the ITU-T Software Tool Library. This is referred to in the associated documentation as the Softwar
33、e Tool Library release 2009, or STL2009. All the routines in the modules are written in C. a) Example programs available Associated header file: ugstdemo.h The following programs are examples of the use of the modules: g711demo.c on the use of the ITU-T G.711 module. g726demo.c on the use of the ITU
34、-T G.726 module. g727demo.c on the use of the ITU-T G.727 module g722demo.c on the use of the ITU-T G.722 module. g728enc.c on the use of the ITU-T G.728 floating-point encoder. g728dec.c on the use of the ITU-T G.728 floating-point decoder. g728fpenc.c on the use of the ITU-T G.728 fixed-point enco
35、der. g728fpdec.c on the use of the ITU-T G.728 fixed-point decoder. rpedemo.c on the use of the full-rate GSM 06.10 speech codec module. sv56demo.c on the use of the speech voltmeter module, and also the gain/loss routine. eiddemo.c on the use of the error insertion device for bit error insertion an
36、d frame erasure. eid-ev.c on the use of the error insertion device for bit error insertion for layered bitstreams, which can be used to apply errors to individual layers in layered bitstreams such as ITU-T G.718 or ITU-T G.729.1. gen-patt.c on the use of generating bit error pattern files for error
37、insertion in ITU-T G.192-compliant serial bitstreams encoded files. gen_rate_profile.c on the use of fast switching rate profile generation tool. firdemo.c on the use of the FIR (finite impulse response) high-quality low-pass and band-pass filters and of the FIR-IRS filters, associated with the rate
38、 change module. pcmdemo.c on the use of the ITU-T G.712 (standard PCM) IIR (infinite impulse response) filters, associated with the rate change module. filter.c on the use of both the IIR and the FIR filters available in the rate change module. mnrudemo.c on the use of the narrow-band and wideband m
39、odulated noise reference unity (ITU-T P.81) module. Rec. ITU-T G.191 (03/2010) 3 spdemo.c on the use of the serialization and parallelization routines of the utility module. g711iplc.c on the use of Appendix I/G.711 Packet Loss Concealment module. reverb.c on the use of the reverberation module. tru
40、ncate.c on the use of the bitstream truncation module. freqresp.c on the use of the frequency response computation tool. stereoop.c on the use of stereo file operations. NOTE The module for the Basic Operators does not have a demo program but it is supplemented by two tools: one to evaluate program
41、ROM complexity for fixed-point code (basop_cnt.c), and another to evaluate complexity (including program ROM) of floating-point implementations (flc_example.c). Both reside in the Basic Operators module. b) Rate change module with FIR (finite impulse response) routines Name: firflt.c Associated head
42、er file: firflt.h Functions included: delta_sm_16khz_init initialize 16 kHz 1:1 SM weighting filter. hq_down_2_to_1_init initialize 2:1 low-pass down-sampling filter. hq_down_3_to_1_init initialize 3:1 low-pass down-sampling filter. hq_up_1_to_2_init initialize 1:2 low-pass up-sampling filter. hq_up
43、_1_to_3_init initialize 1:3 low-pass up-sampling filter. irs_8khz_init initialize 8-kHz P.48 IRS weighting filter. irs_16khz_init initialize 16-kHz P.48 IRS weighting filter. linear_phase_pb_2_to_1_init initialize 2:1 bandpass down-sampling filter. linear_phase_pb_1_to_2_init initialize 1:2 bandpass
44、 up-sampling filter. linear_phase_pb_1_to_1_init initialize 1:1 bandpass filter. mod_irs_16khz_init initialize 16-kHz send-side modified IRS weighting filter. mod_irs_48khz_init initialize 48-kHz send-side modified IRS weighting filter. psophometric_8khz_init initialize 1:1 ITU-T O.41 psophometric w
45、eighting filter. p341_16khz_init initialize 1:1 ITU-T P.341 send-part weighting filter for data sampled at 16 kHz. rx_mod_irs_16khz_init initialize 16-kHz modified IRS receive-side weighting filter. rx_mod_irs_8khz_init initialize 8-kHz modified IRS receive-side weighting filter. tia_irs_8khz_init i
46、nitialize 8-kHz IRS weighting filter using the TIA coefficients. ht_irs_16khz_init initialize 16-kHz IRS weighting filter with a half-tilt inclination within the ITU-T P.48 mask. msin_16khz_init initialize mobile station weighting filter. bp5k_16khz_init initialize 50-Hz to 5-kHz-bandpass filter (16
47、 kHz sampling). 4 Rec. ITU-T G.191 (03/2010) bp100_5k_16khz_init initialize a 100-Hz to 5-kHz-bandpass filter (16-kHz sampling). bp14k_32khz_init initialize a 50-Hz to 14-kHz-bandpass filter (32-kHz sampling). bp20k_48khz_init initialize a 20-Hz to 20-kHz-bandpass filter (48-kHz sampling). LP1p5_48k
48、Hz_init initialize a low-pass filter with a cut-off frequency of 1.5 kHz (48-kHz sampling). LP35_48kHz_init initialize a low-pass filter with a cut-off frequency of 3.5 kHz (48-kHz sampling). LP7_48kHz_init initialize a low-pass filter with a cut-off frequency of 7 kHz (48-kHz sampling). LP10_48kHz_
49、init initialize a low-pass filter with a cut-off frequency of 10 kHz (48-kHz sampling). LP12_48kHz_init initialize a low-pass filter with a cut-off frequency of 12 kHz at (48-kHz sampling). LP14_48kHz_init initialize a low-pass filter with a cut-off frequency of 14 kHz at 48-kHz sampling). LP20_48kHz_init initialize a low-pass filter with a cut-off frequency of 20 kHz (48-kHz sampling). hq_kernel FIR filtering function. hq_reset clear state variables. hq_free deallocate FIR-filter memory. c) Rate change module with IIR routines Name: iirflt.c Asso