.rs .\" Troff code generated by TPS Convert from ITU Original Files .\" Not Copyright ( c) 1991 .\" .\" Assumes tbl, eqn, MS macros, and lots of luck. .TA 1c 2c 3c 4c 5c 6c 7c 8c .ds CH .ds CF .EQ delim @@ .EN .nr LL 40.5P .nr ll 40.5P .nr HM 3P .nr FM 6P .nr PO 4P .nr PD 9p .po 4P .rs \v | 5i' .IP \fB7.2\fR \fBCoding\ of\ analogue\ signals\ by\ methods\ other\ than\ PCM\fR .sp 1P .RT .sp 2P .LP \fBRecommendation\ G.721\fR .RT .sp 2P .ce 1000 \fB32\ kbit/s\ \fR \fBADAPTIVE\ DIFFERENTIAL\ PULSE\ CODE\fR .EF '% Fascicle\ III.4\ \(em\ Rec.\ G.721'' .OF '''Fascicle\ III.4\ \(em\ Rec.\ G.721 %' .ce 0 .sp 1P .ce 1000 \fBMODULATION\ (ADPCM)\fR .FS This Recommendation G.721 completely replaces the text of Recommendation\ G.721 published in Fascicle\ III.3 of the \fIRed Book\fR . It should be noted that systems designed in accordance with the present Recommendation will not be compatible with systems designed in accordance with the \fIRed Book\fR version. .FE .ce 0 .sp 1P .ce 1000 \fI(Melbourne, 1988)\fR .sp 9p .RT .ce 0 .sp 1P .LP \fB1\fR \fBGeneral\fR .sp 1P .RT .PP The characteristics below are recommended for the conversion of a 64\ kbit/s A\(hylaw or \(*m\(hylaw PCM channel to and from a 32\ kbit/s channel. The conversion is applied to the PCM bit stream using an ADPCM transcoding technique. The relationship between the voice frequency signals and the PCM encoding/decoding laws is fully specified in Recommendation\ G.711. .PP Paragraphs 1.1 and 1.2 of this Recommendation provide an outline description of the ADPCM transcoding algorithm, \(sc\(sc\ 2 and\ 3 provide the principles and functional descriptions of the ADPCM encoding and decoding algorithms respectively, whilst \(sc\ 4 is the precise specification for the algorithm computations. Networking aspects and digital test sequences are addressed in Apendices\ I and\ II respectively to this Recommendation. .PP Simplified block diagrams of both the ADPCM encoder and decoder are shown in Figure\ 1/G.721. .PP In \(sc 4, each sub\(hyblock in the encoder and decoder is precisely defined using one particular logical sequence. If other methods of computation are used, extreme care should be taken to ensure that they yield \fIexactly\fR the same value for the output processing variables. Any further departures from the processes detailed in \(sc\ 4 will incur performance penalties which may be severe. .PP \fINote 1\fR \ \(em\ For the time being, the 32 kbit/s ADPCM algorithm defined in this Recommendation is intended for transmission purposes since switching applications at this bit rate are a subject for further study by the CCITT. .PP \fINote 2\fR \ \(em\ Prior to the definition of this Recommendation, other 32 kbit/s ADPCM algorithms of similar performance have been incorporated in equipment designs and used in national telecommunications networks. .PP \fINote 3\fR \ \(em\ In the short term, due to the limited availability of 32\ kbit/s ADPCM equipment, the use of 32\ kbit/s ADPCM in the international network, when requested by one of the Administrations concerned, will require bilateral and/or multilateral agreement. .PP \fINote 4\fR \ \(em\ Signalling and multiplexing considerations are beyond the scope of this Recommendation (see for example Recommendation\ G.761). .RT .sp 1P .LP 1.1 \fIADPCM encoder\fR .sp 9p .RT .PP Subsequent to the conversion of the A\(hylaw or \(*m\(hylaw PCM input signal to uniform PCM, a difference signal is obtained, by subtracting an estimate of the input signal from the input signal itself. An adaptative 15\(hylevel quantizer is used to assign four binary digits to the value of the difference signal for transmission to the decoder. An inverse quantizer produces a quantized difference signal from these same four binary digits. The signal estimate is added to this quantized difference signal to produce the reconstructed .PP version of the input signal. Both the reconstructed signal and the quantized difference signal are operated upon by an adaptive predictor which produces the estimate of the input signal, thereby completing the feedback loop . .RT .LP .sp 1 .bp .sp 1P .LP 1.2 \fIADPCM decoder\fR .sp 9p .RT .PP The decoder includes a structure identical to the feedback portion of the encoder, together with a uniform PCM to A\(hylaw or \(*m\(hylaw conversion and a synchronous coding adjustment . .PP The synchronous coding adjustment prevents cumulative distortion occurring on synchronous tandem codings (ADPCM\(hyPCM\(hyADPCM,\ etc. digital connections) under certain conditions (see \(sc\ 3.7). The synchronous coding adjustment is achieved by adjusting the PCM output codes in a manner which attempts to eliminate quantizing distortion in the next ADPCM encoding stage . .RT .LP .rs .sp 37P .ad r \fBFigure 1/G.721, p.\fR .sp 1P .RT .ad b .RT .sp 2P .LP \fB2\fR \fBADPCM encoder\fR \fBprinciples\fR .sp 1P .RT .PP Figure 2/G.721 is a block schematic of the encoder. For each variable to be described, \fIk\fR \ is the sampling index and samples are taken at 125\ \(*ms intervals. A fundamental description of each block is given below in \(sc\(sc\ 2.1 to\ 2.8. .bp .RT .LP .rs .sp 25P .ad r \fBFigure 2/G.721, p.\fR .sp 1P .RT .ad b .RT .sp 1P .LP 2.1 \fIInput PCM format conversion\fR .sp 9p .RT .PP This block converts the input signal \fIs\fR (\fIk\fR ) from A\(hylaw or \(*m\(hylaw PCM to a uniform PCM signal \fIs\fR\d1\u(\fIk\fR ). .RT .sp 1P .LP 2.2 \fIDifference signal\fR \fIcomputation\fR .sp 9p .RT .PP This block calculates the difference signal \fId\fR (\fIk\fR ) from the uniform PCM signal \fIs\fR\d\fIl\fR\u(\fIk\fR ) and the signal estimate \fIs\fR\d\fIe\fR\u(\fIk\fR ): \v'6p' .RT .ce 1000 \fId\fR (\fIk\fR ) = \fIs \dl\u\fR (\fIk\fR ) \(em \fIs \de\u\fR (\fIk\fR ) .ce 0 .ad r (2\(hy1) .ad b .RT .LP .sp 1 .sp 1P .LP 2.3 \fIAdaptive quantizer\fR .sp 9p .RT .PP A 15\(hylevel non\(hyuniform adaptive quantizer is used to quantize the difference signal \fId\fR (\fIk\fR ). Prior to quantization, \fId\fR (\fIk\fR ) is converted to a base\ 2 logarithmic representation and scaled by \fIy\fR (\fIk\fR ) which is computed by the scale factor adaptation block. The normalized input/output characteristic (infinite precision values) of the quantizer is given in Table\ 1/G.721. Four binary digits are used to specify the quantized level representing \fId\fR (\fIk\fR ) (three for the magnitude and one for the sign). The 4\(hybit quantizer output \fII\fR (\fIk\fR ) forms the 32\ kbit/s output signal; it is also fed to the inverse adaptive quantizer, the adaptation speed control and the quantizer scale factor adaptation blocks. .RT .sp 1P .LP 2.4 \fIInverse adaptive quantizer\fR .sp 9p .RT .PP A quantized version \fId\fR\d\fIq\fR\u(\fIk\fR ) of the difference signal is produced by scaling, using \fIy\fR (\fIk\fR ), specific values selected from the normalized quantizing characteristic given in Table\ 1/G.721 and then transforming the result from the logarithmic domain. .bp .RT .ce \fBH.T. [T1.721]\fR .ce TABLE\ 1/G.721 .ce \fBQuantizer normalized input/output characteristic\fR .ps 9 .vs 11 .nr VS 11 .nr PS 9 .TS center box; cw(72p) | cw(30p) | cw(72p) . { Normalized quantizer input range log | fId\fR (\fIk\fR | (em\fIy\fR (\fIk\fR ) } | fII\fR (\fIk\fR | { Normalized quantizer output log | fId\fR \fIq\fR (\fIk\fR | (em\fIy\fR (\fIk\fR ) } _ .T& cw(72p) | cw(30p) | cw(72p) . [3.12,\ +\(if) 7 3.32\ .T& cw(72p) | cw(30p) | cw(72p) . [2.72,\ \ 3.12) 6 2.91\ .T& cw(72p) | cw(30p) | cw(72p) . [2.34,\ \ 2.72) 5 2.52\ .T& cw(72p) | cw(30p) | cw(72p) . [1.91,\ \ 2.34) 4 2.13\ .T& cw(72p) | cw(30p) | cw(72p) . [1.38,\ \ 1.91) 3 1.66\ .T& cw(72p) | cw(30p) | cw(72p) . [0.62,\ \ 1.38) 2 1.05\ .T& cw(72p) | cw(30p) | cw(72p) . [\(em0.98,\ 0.62) 1 0.031 .T& cw(72p) | cw(30p) | cw(72p) . (\(em\(if,\ \(em0.98) 0 \(em\(if .TE .LP \fINote\fR \ \(em\ The convention used here is that \*Q[\*U indicates that the endpoint value is included in the range, \*Q)\*U indicates that the endpoint value is excluded from the range. .nr PS 9 .RT .ad r \fBTable 1/G.721 [T1.721], p.\fR .sp 1P .RT .ad b .RT .sp 1P .LP 2.5 \fIQuantizer scale factor adaptation\fR .sp 9p .RT .PP This block computes \fIy\fR (\fIk\fR ), the scaling factor for the quantizer and the inverse quantizer. The inputs are the 4\(hybit quantizer output \fII\fR (\fIk\fR ) and the adaptation speed control parameter \fIa\fR\d\fIl\fR\u(\fIk\fR ). .PP The basic principle used in scaling the quantizer is bimodal adaptation : .RT .LP \(em fast for signals (e.g. speech) that produce difference signals with large fluctuations; .LP \(em slow for signals (e.g. voiceband data, tones) that produce difference signals with small fluctuations. .PP The speed of adaptation is controlled by a combination of fast and slow scale factors. .PP The fast (unlocked) scale factor \fIy\fR\d\fIu\fR\u(\fIk\fR ) is recursively computed in the base\ 2 logarithmic domain from the resultant logarithmic scale factor \fIy\fR (\fIk\fR ): \v'6p' .RT .ce 1000 \fIy \du\u\fR (\fIk\fR ) = (1 \(em 2 \u\(em5 \d)\fIy\fR (\fIk\fR ) + 2 \u\(em5 \d\fIW\fR [\fII\fR (\fIk\fR )], .ce 0 .ad r (2\(hy2) .ad b .RT .LP .sp 1 where \fIy \du\u\fR (\fIk\fR ) is limited by 1.06 \(= \fIy \du\u\fR (\fIk\fR ) \(= 10.00. .PP The discrete function \fIW\fR (\fII\fR ) is defined as follows (infinite precision values): .ce \fBH.T. [T2.721]\fR .ps 9 .vs 11 .nr VS 11 .nr PS 9 .TS center box; cw(24p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) . | (k | 7 6 5 4 3 2 1 0 _ .T& cw(24p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) . W(I) 70.13 22.19 12.38 7.00 4.00 2.56 1.13 \(em0.75 .TE .nr PS 9 .RT .ad r \fBTable [T2.721], p.\fR .sp 1P .RT .ad b .RT .PP The factor (1 \(em 2\uD\dlF261\u5\d) introduces finite memory into the adaptive process so that the states of the encoder and decoder converge following transmission errors. .bp .PP The slow (locked) scale factor \fIy\fR\d\fIl\fR\u(\fIk\fR ) is derived from \fIy\fR\d\fIu\fR\u(\fIk\fR ) with a low pass filter operation: \v'6p' .RT .ce 1000 \fIy \dl\u\fR (\fIk\fR ) = (1 \(em 2 \u\(em6 \d)\fIy \dl\u\fR (\fIk\fR \(em 1) + 2 \u\(em6 \d\fIy \du\u\fR (\fIk\fR ) .ce 0 .ad r (2\(hy3) .ad b .RT .PP .sp 1 The fast and slow scale factors are then combined to form the resultant scale factor: \v'6p' .ce 1000 \fIy\fR (\fIk\fR ) = \fIa \dl\u\fR (\fIk\fR )\fIy \du\u\fR (\fIk\fR \(em 1) + [1 \(em \fIa \dl\u\fR (\fIk\fR )]\fIy \dl\u\fR (\fIk\fR \(em 1), .ce 0 .ad r (2\(hy4) .ad b .RT .LP .sp 1 .LP where 0 \(= \fIa \dl\u\fR (\fIk\fR ) \(= 1 (see \(sc 2.6). .sp 1P .LP 2.6 \fIAdaptation speed control\fR .sp 9p .RT .PP The controlling parameter \fIa\fR\d\fIl\fR\u(\fIk\fR ) can assume values in the range [0,\ 1]. It tends towards unity for speech signals and towards zero for voiceband data signals and tones. It is derived from a measure of the rate\(hyof\(hychange of the difference signal values. .PP Two measures of the average magnitude of \fII\fR (\fIk\fR ) are computed: \v'6p' .RT .ce 1000 \fId \dms \u\fR (\fIk\fR ) = (1 \(em 2 \u\(em5 \d)\fId \dms \u\fR (\fIk\fR \(em 1) + 2 \u\(em5 \d\fIF\fR [\fII\fR (\fIk\fR )], .ce 0 .ad r (2\(hy5) .ad b .RT .LP and .ce 1000 \fId \dml \u\fR (\fIk\fR ) = (1 \(em 2 \u\(em7 \d)\fId \dml \u\fR (\fIk\fR \(em 1) + 2 \u\(em7 \d\fIF\fR [\fII\fR (\fIk\fR )], .ce 0 .ad r (2\(hy6) .ad b .RT .LP .sp 1 where \fIF\fR [\fII\fR (\fIk\fR )] is defined by .ce \fBH.T. [T3.721]\fR .ps 9 .vs 11 .nr VS 11 .nr PS 9 .TS center box; cw(24p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) . | (k | 7 6 5 4 3 2 1 0 _ .T& cw(24p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) | cw(18p) . F[I(k)] 7 3 1 1 1 0 0 0 .TE .nr PS 9 .RT .ad r \fBTable [T3.721], p.\fR .sp 1P .RT .ad b .RT .LP \fId\fR\d\fIm\fR\\d\fIs\fR\u(\fIk\fR ) is thus a relatively short term average of \fIF\fR [\fII\fR (\fIk\fR )] and \fId\fR\d\fIm\fR\\d\fIl\fR\u(\fIk\fR ) is a relatively long term average of \fIF\fR [\fII\fR (\fIk\fR )]. .PP Using these two averages, the variable \fIa\fR\d\fIp\fR\u(\fIk\fR ) is defined: \v'6p' .LP \fIa \dp\u\fR (\fIk\fR ) = \ (1 \(em 2 \u\(em4 \d)\fIa \dp\u\fR (\fIk\fR \(em 1) + 2 \u\(em3 \d, \ if @ left | fId~\dms~\u\fR (\fIk\fR ) \(em~\fId~\dml~\u\fR (\fIk\fR ) right | @ \(>=" 2 \u\(em3 \d\fId \dml \u\fR (\fIk\fR ) \fIa \dp\u\fR (\fIk\fR ) = \ (1 \(em 2 \u\(em4 \d)\fIa \dp\u\fR (\fIk\fR \(em 1) + 2 \u\(em3 \d, \ if \fIy\fR (\fIk\fR ) < 3 \fIa \dp\u\fR (\fIk\fR ) = \ (1 \(em 2 \u\(em4 \d)\fIa \dp\u\fR (\fIk\fR \(em 1) + 2 \u\(em3 \d, \ if \fIt\fR \fI\d\fId\fR\u(\fIk\fR ) = 1 (2\(hy7) \fIa \dp\u\fR (\fIk\fR ) = \ 1, if \fIt\fR \fI\d\fIr\fR\u(\fIk\fR ) = 1 \fIa \dp\u\fR (\fIk\fR ) = \ (1 \(em 2 \u\(em4 \d)\fIa \dp\u\fR (\fIk\fR \(em 1), + 2 \u\(em3 \d \ otherwise .PP Thus, \fIa\fR\d\fIp\fR\u(\fIk\fR ) tends towards the value 2 if the difference between \fId\fR\d\fIm\fR\\d\fIs\fR\u(\fIk\fR ) and \fId\fR\d\fIm\fR\\d\fIl\fR\u(\fIk\fR ) is large (average magnitude of \fII\fR (\fIk\fR ) changing) and \fIa\fR\d\fIp\fR\u(\fIk\fR ) tends towards the value\ 0 if the difference is small (average magnitude of \fII\fR (\fIk\fR ) relatively constant). \fIa\fR\d\fIp\fR\u(\fIk\fR ) also tends towards\ 2 for an idle channel (indicated by \fIy\fR (\fIk\fR )\ <\ 3) or partial band signals (indicated by \fIt\fR\d\fId\fR\u(\fIk\fR )\ =\ 1 as described in \(sc\ 2.8). Note that \fIa\fR\d\fIp\fR\u(\fIk\fR ) is set to\ 1 upon detection of a partial band signal transition (indicated by \fIt\fR\d\fIr\fR\u(\fIk\fR )\ =\ 1, see \(sc\ 2.8). .LP \fIa \dp\u\fR (\fIk\fR \(em 1) is then limited to yield \fIa \dl\u\fR (\fIk\fR ) used in Equation (2\(hy4) above: \v'6p' .ce 1000 \fIa [Formula Deleted]