INTERNATIONAL TELECOMMUNICATION UNION
)454 '
TELECOMMUNICATION (03/96)
STANDARDIZATION SECTOR
OF ITU
'%.%2!,!30%#43/&$)')4!,42!.3-)33)/.
3934%-3
#/$).'/&30%%#(!4KBITS
53).'#/.*5'!4%3425#452%
!,'%"2!)##/$%%8#)4%$
,).%!202%$)#4)/.#3!#%,0
)454Recommendation'
(Previously “CCITT Recommendation”)
FOREWORD
The ITU-T (Telecommunication Standardization Sector) is a permanent organ of the International Telecommunication
Union (ITU). The ITU-T is responsible for studying technical, operating and tariff questions and issuing Recommen-
dations on them with a view to standardizing telecommunications on a worldwide basis.
The World Telecommunication Standardization Conference (WTSC), which meets every four years, establishes the
topics for study by the ITU-T Study Groups which, in their turn, produce Recommendations on these topics.
The approval of Recommendations by the Members of the ITU-T is covered by the procedure laid down in WTSC
Resolution No. 1 (Helsinki, March 1-12, 1993).
ITU-T Recommendation G.729 was prepared by ITU-T Study Group 15 (1993-1996) and was approved under the
WTSC Resolution No. 1 procedure on the 19th of March 1996.
___________________
NOTE
In this Recommendation, the expression “Administration” is used for conciseness to indicate both a telecommunication
administration and a recognized operating agency.
ITU 1996
All rights reserved. No part of this publication may be reproduced or utilized in any form or by any means, electronic or
mechanical, including photocopying and microfilm, without permission in writing from the ITU.
Recommendation G.729 (03/96) i
CONTENTS
Recommendation G.729 (03/96)
Page
1 Introduction.................................................................................................................................................... 1
2 General description of the coder .................................................................................................................... 1
2.1 Encoder............................................................................................................................................. 2
2.2 Decoder............................................................................................................................................. 3
2.3 Delay................................................................................................................................................. 4
2.4 Speech coder description .................................................................................................................. 4
2.5 Notational conventions ..................................................................................................................... 4
3 Functional description of the encoder ............................................................................................................ 7
3.1 Pre-processing .................................................................................................................................. 7
3.2 Linear prediction analysis and quantization ..................................................................................... 7
3.3 Perceptual weighting ........................................................................................................................ 14
3.4 Open-loop pitch analysis .................................................................................................................. 15
3.5 Computation of the impulse response............................................................................................... 16
3.6 Computation of the target signal....................................................................................................... 16
3.7 Adaptive-codebook search................................................................................................................ 17
3.8 Fixed codebook – Structure and search ............................................................................................ 19
3.9 Quantization of the gains.................................................................................................................. 22
3.10 Memory update................................................................................................................................. 24
4 Functional description of the decoder ............................................................................................................ 25
4.1 Parameter decoding procedure.......................................................................................................... 25
4.2 Post-processing................................................................................................................................. 28
4.3 Encoder and decoder initialization ................................................................................................... 30
4.4 Concealment of frame erasures......................................................................................................... 30
5 Bit-exact description of the CS-ACELP coder............................................................................................... 32
5.1 Use of the simulation software ......................................................................................................... 32
5.2 Organization of the simulation software........................................................................................... 32
Recommendation G.729 (03/96) 1
Recommendation G.729
Recommendation G.729 (03/96)
CODING OF SPEECH AT 8 kbit/s USING CONJUGATE-STRUCTURE
ALGEBRAIC-CODE-EXCITED LINEAR-PREDICTION (CS-ACELP)
(Geneva, 1996)
1 Introduction
This Recommendation contains the description of an algorithm for the coding of speech signals at 8 kbit/s using
Conjugate-Structure Algebraic-Code-Excited Linear-Prediction (CS-ACELP).
This coder is designed to operate with a digital signal obtained by first performing telephone bandwidth filtering
(Recommendation G.712) of the analogue input signal, then sampling it at 8000 Hz, followed by conversion to 16-bit
linear PCM for the input to the encoder. The output of the decoder should be converted back to an analogue signal by
similar means. Other input/output characteristics, such as those specified by Recommendation G.711 for 64 kbit/s PCM
data, should be converted to 16-bit linear PCM before encoding, or from 16-bit linear PCM to the appropriate format
after decoding. The bitstream from the encoder to the decoder is defined within this Recommendation.
This Recommendation is organized as follows: Clause 2 gives a general outline of the CS-ACELP algorithm. In
clauses 3 and 4, the CS-ACELP encoder and decoder principles are discussed, respectively. Clause 5 describes the
software that defines this coder in 16 bit fixed-point arithmetic.
2 General description of the coder
The CS-ACELP coder is based on the Code-Excited Linear-Prediction (CELP) coding model. The coder operates on
speech frames of 10 ms corresponding to 80 samples at a sampling rate of 8000 samples per second. For every 10 ms
frame, the speech signal is analysed to extract the parameters of the CELP model (linear-prediction filter coefficients,
adaptive and fixed-codebook indices and gains). These parameters are encoded and transmitted. The bit allocation of the
coder parameters is shown in Table 1. At the decoder, these parameters are used to retrieve the excitation and synthesis
filter parameters. The speech is reconstructed by filtering this excitation through the short-term synthesis filter, as is
shown in Figure 1. The short-term synthesis filter is based on a 10th order Linear Prediction (LP) filter. The long-term,
or pitch synthesis filter is implemented using the so-called adaptive-codebook approach. After computing the
reconstructed speech, it is further enhanced by a postfilter.
TABLE 1/G.729
Bit allocation of the 8 kbit/s CS-ACELP algorithm (10 ms frame)
Parameter Codeword Subframe 1 Subframe 2 Total per frame
Line spectrum pairs L0, L1, L2, L318
Adaptive-codebook delay P1, P28513
Pitch-delay parity P01 1
Fixed-codebook index C1, C2 131326
Fixed-codebook sign S1, S2 448
Codebook gains (stage 1) GA1, GA2336
Codebook gains (stage 2) GB1, GB2448
Total 80