ADPCM ENCODING AND DECODING SYSTEMS

Abstract: An ADPCM encoding and decoding system consists of an encoder (50) having an adaptive predictor (54) and an adaptive quantizer (55), and a decoder (100) having an adaptive predictor (107) and an inverse adaptive quantizer (102), the adaptive predictors each comprising an adaptive-­ zero predictor (65,121) of an arbitrary order and an adaptive-pole predictor (71,127) of an arbitrary order, a fixed-pole predictor (73,129) of an arbitrary order, these elements being connected in series, and an offset predictor (68) for rejecting an offset component of the input signals. The adaptive-zero (65,121) and adaptive-pole (71,127) predictors generate estimates for voice signals with time-varying frequency components. The fixed-pole predictor (73,129) generates estimates for voiceband data signals the frequency components of which remain substantially invariant over time.

Description: Technical Field The invention relates to ADPCM encoding and decoding systems for providing successive, adaptive, predictive estimates of, for example, a voice signal or a voiceband data signal, and encoding and decoding the signal at a low bit rate. Background Art 32-kbits/s ADPCM encoding and decoding systems are used for transmitting information in a compressed form, principally in fields such as voice communications and analog modem communications. The CCITT (Consultative Committee on International Telephone and Telegraph) has issued a recommendation (G.721) concerning ADPCM encoding and decoding circuits of this type. The CCITT Study Group XVIII reported in its Report R-28 that the 32-kbit/s ADPCM encoding and decoding algorithm described in the CCITT recommendation G.721 performs suitably when processing voice signals and low-speed voiceband data signals ie, modem signals below 4800 bit/s. However at higher modem signal speeds, such as 7200 bit/s as widely used in GIII facsimile transmission, systems utilising this algorithm tend to perform inadequately due to the poor predictive capabilities of the adaptive predictor of the system. Even when the power of the input signal is constant, as in a modem signal, the fluctuations within the system cause degradation of the quantizing characteristics of the modem signals. Furthermore, ADPCM encoding and decoding systems of this type do not provide functions suited for use in PCM digital speech interpolation (DSI) in the field of international communications via satellite. A particular problem is the inability of the system to transmit three-bit codes, hence the inability to support the method, used in DSI, of preventing a freezeout of tranks when the communication channel is overloaded, by reducing by one the number of bits assigned per channel. The Proceedings of the International Conference on Acoustics, Speech and Signal Processing (Tokyo, April 1986), published by IEEE, New York, contains in Volume 2, pages 821-824, a paper entitled "An advanced 32 kbit/s ADPCM coding to transmit speech and high-speed voiceband data". The described codec is stated to be able to transmit high-speed voiceband data at rates up to 9.6 kbit/s with the same transparency as the G.721 ADPCM recommended by CCITT. The codec consists of an encoder comprising an adaptive quantizer, an inverse adapative quantizer and a composite adaptive predictor; and a decoder comprising an adaptive inverse quantizer and a composite adaptive predictor. Each adaptive predictor comprises an adaptive zero filter, an adaptive pole filter and a fixed pole filter connected in series to the respective adaptive inverse quantizer. THE INVENTION The invention provides an ADPCM encoding and decoding unit consisting of an encoder having an adaptive predictor, an adaptive quantizer and an inverse adaptive quantizer; and a decoder having an adaptive predictor and an inverse adaptive quantizer. The adaptive predictor in each of the encoder and the decoder receives a reconstructed difference signal from the respective inverse adaptive quantizer and comprises an adaptive-zero predictor of an arbitrary order for receiving the difference signal and generating estimates of signals with time-varying frequency components, an adaptive-pole predictor of an arbitrary order for receiving the difference signal modified by the adaptive-zero predictor and generating estimates of input signals with time-varying frequency components, a fixed-pole predictor of an arbitrary order for receiving the difference signal further modified by the adaptive-pole predictor and generating estimates of input signals the frequency components of which remain substantially invariant with time, and an offset predictor connected in parallel with the adaptive-zero predictor, adaptive-pole predictor and fixed-pole predictor, for receiving the reconstructed difference signal and rejecting an offset component of the input signals. The estimate produced by the adaptive predictive filter has extremely high predictive gain and the quantizing characteristics of modem signals are not degraded. In addition, the invention is well equipped to cope with DSI by varying the bit rate. THE DRAWINGS Fig. 1A is a block diagram of an encoder according to the invention; Fig. 1B is a block diagram of a decoder according to the invention; Fig.2 and Fig. 3 illustrate line S/N versus block error rate characteristics as demonstrated by a system according to the invention; Fig.4A is a block diagram of an ADPCM encoder according to the prior art; and Fig.4B is a block diagram of an ADPCM decoder according to the prior art. The ADPCM encoder 10 of Fig. 4A is an encoder that converts a 64-kbit/s µ-law code or A-law code to a 32-kbit/s code. In this encoder 10, the numeral 11 denotes a PCM input terminal, 12 is an input PCM conversion, 13 is a difference signal computation comprising a subtractor, 14 is an adaptive quantizer, 15 is an inverse adaptive quantizer, 16 is a scale factor generator comprising a quantizer scale factor adaptation 17 and an adaptation speed control 18, 19 is an adaptive predictor, 20 is a reconstructed signal generator comprising an adder, and 21 is the output terminal of the encoder 10. The decoder 30 of Fig. 4B is a device for converting a 32-kbit/s code to a 64-kbit/s output signal. The numeral 31 denotes a code input terminal, 32 is an inverse adaptive quantizer, 33 is a scale factor generator comprising a quantizer scale factor adaptation 34 and an adaptation speed control 35,36 is an adaptive predictor, 37 is a reconstructed signal generator comprising an adder, 38 is an output PCM format conversion, 39 is a synchronous coding adjustment, and 40 is a PCM output terminal. The operation of this prior art ADPCM encoder and decoder will be explained as follows. First the operation of the encoder 10 will be explained. A µ-law or A-law PCM code So(k) received at the input terminal 11 is converted by the input PCM format conversion 12 to a linear PCM signal S₁(k) which is supplied to the difference signal computation 13. The output of the difference signal computation 13 is a difference signal d(k) obtained by subtraction of a signal estimate Se(k) given by the adaptive predictor 19 as described later from this signal S₁(k). The difference signal d(k) is scaled in the next-stage adaptive quantizer 14 by a scale factor y(k) sent from the quantizer scale factor adaptation 17 in the scale factor generator 16, then encoded as a 4-bit code I(k), which is sent at a 32-kbit/s bit rate from the output terminal 21 to the decoder 30, and is also supplied to the inverse adaptive quantizer 15 in the next stage. The inverse adaptive quantizer 15 reconstructs the inversely-quantized value dq(k) of the code I(k) and sends it to the adaptive predictor 19 and the reconstructed signal generator 20. The adaptive predictor 19 receives from the reconstructed signal generator 20 the reconstructed value Sr(k) of the input S(k), and uses it to generate a signal estimate Se(k). As already noted, the scale factor generator 16 comprises a quantizer scale factor adaptation 17 and an adaptation speed control 18. The adaptation speed control 18 sends a linear combination coefficient a₁(k) having a value corresponding to the average amplitude of the code I(k) to the quantizer scale factor adaptation 17, which generates the scale factor y(k) given by this coefficient a₁(k). First the short-term average value d ms (k) and the long-term average value d mℓ (k) of the amplitude of the code I(k) are calculated in the adaptation speed control 18 having differing time constants. d ms (k) = (1 - 2⁻⁵)d ms (k-1) + 2⁻⁵F{I(k)} (1) d mℓ (k) = (1 - 2⁻⁷)d mℓ (k-1) + 2⁻⁷F{I(k)} (2) where F{I(k)} is a value from a constant table that is predetermined according to I(k) and is read according to I(k) from a memory (not shown in the drawing) disposed in the adaptation speed control 18. A comparison of the values of d ms (k) and d mℓ (k) calculated in this way indicates whether the difference signal d(k) is a time-varying signal, as in the case of a voice signal, or a signal of which the average amplitude is substantially invariant over time, as in the case of a voiceband data signal. The value of the linear combination coefficient (parameter) a₁(k) sent from the adaptation speed control 18 to the quantizer scale factor adaptation 17 is successively updated so as to approach a value of "1" if the difference signal d(k) is a time-varying signal, or a value of "0" if its average amplitude is substantially invariant over time. The scale factor generated by the quantizer scale factor adaptation 17 is given by the following formulas: y u (k) = (1 - 2⁻⁵)y(k) + 2⁻⁵W{I(k)} (3) y ℓ (k) = (1 - 2⁻⁶)y ℓ (k-1) + 2⁻⁶y u (k) (4) y(k) = a₁(k)y u (k-1) + {1 - a₁(k)}y ℓ (k-1) (5) where y u (k) is a scale factor for a voice signal, y ℓ (k) is a scale factor for a voiceband data signal, W{I(k)} is a constant, called an M-table value, predetermined according to I(k), and a₁(k) is the aforesaid linear combination parameter received from the adaptation speed control 18. The difference between d ms (k) and d mℓ (k) varies with time depending on, for example, whether the signal is a voice signal or a voiceband data signal. The parameter a₁(k) is successively updated toward "1" or "0" according to the size of this difference. As a result the scale factor y(k) is determined by the form of the linear combination of y u (k) and y ℓ (k). The scale factor y(k) is sent to the adaptive quantizer 14 and the inverse adaptive quantizer 15 to prevent the degradation of quantization characteristics with respect to a variety of signals. The signal reconstructed by the inverse adaptive quantizer 15 is a quantized difference signal d q (k) which includes a quantizing error. This signal dq(k) is sent to the reconstructed signal generator 20 where it is added to the signal estimate received from the adaptive predictor 19 to generate the reconstructed signal Sr(k) of the linear PCM signal S₁(k), and this is sent to the adaptive predictor 19. The adaptive predictor 19 comprises a transversal filter, having tap coefficients which are modified to reduce the power of d(k), namely d²(k), and which coefficients are convoluted with the reconstructed signal at a past sampling instant to generate a signal estimate Se(k) of the input signal at the next sampling instant. The operation of the decoder 30 is described next. The inverse adaptive quantizer 32 in the decoder 30 uses the scale factor y(k) received from the scale factor generator 33 and generates the reconstructed difference signal d q (k). The reconstructed difference signal d q (k) is sent to the adaptive predictor 36 and the reconstructed signal generator 37 and is added in the reconstructed signal generator 37 to the signal estimate Se(k) received from the adaptive predictor 36 to form the reconstructed signal S r (k), which is the reconstructed value of the input signal S₁(k). The adaptive predictor 36 produces this signal estimate Se(k) from the reconstructed difference signal d q (k) and the reconstructed signal Sr(k). As long as there are no bit errors between the code output terminal 21 and the code input terminal 31, the scale factor generator 33 (34, 35) and the adaptive predictor 36 of the decoder 30 perform exactly the same operations as the corresponding elements 16 (17, 18) and 19 in the encoder 10, and their internal states also agree. The reconstructed signal Sr(k) of the input signal S₁(k) is converted by the output PCM format conversion 38 to a µ-law or A-law PCM code Sp(K). The code Sp(k) is adjusted using the code I(k), the signal estimate Se(k), and the scale factor y(k) so that even if PCM and ADPCM links are interconnected synchronously ,as in a PCM-ADPCM-PCM-ADPCM interconnection, no more degradation occurs than would occur in the first-stage PCM-ADPCM-PCM interconnection; then the code Sp(k) is converted to a µ-law or A-law PCM code Sd(k) and is transmitted at a rate of 64-kbit/s from the PCM output terminal 40. Best Mode A preferred embodiment of this invention will be described with reference to Figs. 1A and 1B. Fig. 1A is a block diagram showing the configuration of a variable-bit-rate ADPCM encoder 50 according to this embodiment. Fig. 1B is a block diagram showing the configuration of a variable-bit-rate ADPCM decoder 100 according to this embodiment. In the encoder 50 in Fig. 1A, reference numeral 51 denotes a PCM input terminal, 52 is a input PCM format conversion, 53 is a difference signal computation, 54 is an adaptive predictor, 55 is an adaptive quantizer, 56 is a quantizer scale factor adaptation, 57, 60, 62, and 63 are external input terminals, 58 is a code output terminal, 59 is an inverse adaptive quantizer, and 61 is an adaptation mode controller. The adaptive predictor 54 comprises a tap coefficients adaptation for adaptive-zero predictor , an adaptive-zero predictor 65, adders 66, 76, 77, 78, 79, and 82, a tap coefficient adaptation for an adaptation-pole predictor, an offset predictor 68, external signal input terminals 69, 80, and 81, an adaptive gain controller (I) 70, an adaptive-pole predictor 71, an adaptive gain controller (II) 72, a fixed-pole predictor 73, and coefficient circuits 74 and 75. In the decoder in Fig. 1B, reference numeral 101 denotes a code input terminal, 102 is an inverse adaptive quantizer, 103 is an adaptation mode controller, 104 is a quantizer scale factor adaptation, 105 is a line status diagnostic section, 106 is a reset circuit, 107 is an adaptive predictor, 108 is an output PCM format conversion, 109 is a synchronous coding adjustment, 110 is a PCM output terminal, and 111 to 115 are external input terminals. The adaptive predictor 107 comprises a tap coefficients adaptation 120 for adaptive-zero predictor, an adaptive-zero predictor 121, adders 122, 132, 133, 134, 135, 138, and 139, a tap coefficients adaptation 123 for adaptive-pole predictor,an offset predictor 124, external input terminals 125, 136, and 137, an adaptive gain controller (I) 126, an adaptive-pole predictor 127, an adaptive gain controller (II) 128, a fixed-pole predictor 129, and coefficient circuits 130 and 131. Next the operation of this embodiment will be explained. First the operation of the encoder 50 will be explained. A µ-law or A-law PCM code x(k) input to the PCM input terminal 51 is converted by the input PCM format conversion 52 to a linear PCM signal S(k), which is supplied to the difference signal computation 53. The difference signal computation 53 subtracts a value Se(k) estimated by the adaptive predictor 54 from the linear PCM signal S(k) as shown in formula (6) to generate the difference signal d(k). d(k) = S(k) - Se(k) (6) The difference signal d(k) is scaled to a value q(k) in the adaptive quantizer 55 by the scale factor u(k) received from the quantizer scale factor adaptation 56, as shown in formula (7), then encoded to the output code I(k). q(k) = d(k)/u(k) (7) Depending on the bit rate switching signal QS input at the external input terminal 57, q(k) is encoded to four bits as in Table 1 when QS = 1, three bits as in Table 2 when QS = 2, or five bits as in Table 3 when QS = 3. In Tables 1 to 3, the symbol "[" indicates inclusion and the symbol "(" indicates exclusion of the value. The values 1, 2, and 3 of QS correspond to bit rates of 32, 24, and 40 kbit/s, respectively. The code I(k) is sent from the code output terminal 58 to the decoder 100 (Fig. 1B), and is also supplied to the inverse adaptive quantizer 59 in the next stage, the quantizer scale factor adaptation 56, and the adaptation mode controller 61. The inverse adaptive quantizer 59 reconstructs the inversely quantized value D(k) of the difference signal d(k) according to formula (8), using the signal Q(k) determined by I(k) and the scale factor u(k) received from the quantizer scale factor adaptation 56. D(k) = Q(k)u(k) (8) Q(k) is sent to the adaptation mode controller 61 according to Table 4 if the bit-rate switching signal QS input at the external input terminal 60 is QS = 1, according to Table 5 if QS = 2, and according to Table 6 if QS = 3. The quantizer scale factor adaptation 56 successively updates the scale factor v(k) defined corresponding to u(k) in the base-2 logarithmic domain according to the following formulas: v1(k) = (1 - 2⁻⁶)v(k) + [F1{I(k)} + ℓ(k)F2{I(k)}] (9) v2(k) = (1 - 2⁻³)v2(k-1) + 2⁻³v1(k) (10) v(k) = {1 - ℓ(k-1)}v1(k-1) + ℓ(k-1)v2(k-1) (11) where v(k) is limited by -11.2876 ≦ v(k) ≦ -1.3218 when QS =1 or 3, and by -11.7959 ≦ v(k) ≦ -1.3218 when QS = 2. In the formulas above v1(k) is a scale factor that responds to short-term fluctuations of the input, and v2(k) is a scale factor that responds to long-term fluctuations of the input. v(k) is obtained as a linear combination of v1(k) and v2(k) according to the mode control coefficient ℓ received from the adaptation mode controller 61. F1{I(k}) and F2{I(k)} are constants predetermined according to the code I(k) and depending on the bit-rate switching signal QS input at the external input terminal 62, taken from Table 7 when QS = 1, Table 8 when QS = 2, and Table 9 when QS = 3. The quantizer scale factor adaptation 56 converts the scale factor v(k) in the base-2 logarithmic domain to the scale factors u(k) and 1/u(k) in the linear domain according to the following formulas: For u(k): j1(k) = INT{v(k)} (12) f1(k) = v(k) -j1(k) (13) f2(k) = 1 + 2f1(k)/3 + f1²(k)/6 (14) u(k) = f2(k)2 j1(k) (15) For 1/u(k): j2(k) = INT{-v(k)} + 1 (16) f3(k) = [-v(k) - INT{-v(k)}] - 1 (17) f4(k) = 1 + 2f3(k)/3 + f3²(k)/6 (18) 1/u(k) = f4(k)2 j2(k) (19) where INT{·} indicates the integer part of the variable enclosed in the brackets 1/u(k) is sent to the adaptive quantizer 55 and the offset predictor 68. The adaptation mode controller 61 sends the quantizer scale factor adaptation 56 a mode control coefficient ℓ(k) that depends on the power and frequency composition of the difference signal d(k). This mode control coefficient ℓ(k), which is a coefficient that selects either a short-term mode or a long-term mode depending on the properties of the input signal, is determined as follows. First a value m(k) corresponding to the power of the difference signal d(k) is calculated from formula (20). m(k) = 1 - 2⁻⁷)m(k-1) + 2⁻⁷F3{I(k)} (20) where F3{I(k)} is a value in a constant table predetermined according to I(k) and depending on the bit-rate switching signal QS input at the external input terminal 63, being taken from Table 10 when QS = 1, from Table 11 when QS = 2, and from Table 12 when QS = 3. Next, to find the frequency components of the difference signal d(k), the output e8(k) resulting from input of Q(k) to a second-order recursive bandpass filter having the characteristic shown in formula (21) is calculated, where Q(k) is proportional to d(k): e8(k) = -0.123{e8(k-1)/2 + Q(k-1)} -0.787{e8(k-2)/2 + Q(k- 2)} (21) Next the mode control coefficient is successively updated by the m(k) calculated in formula (20), the e8(k) calculated in formula (21), and Q(k), according to the formulas given below: where and t(k) is limited by 0 < t(k) < 1. The signal reconstructed by the inverse adaptive quantizer 59 is the reconstructed difference signal D(k) containing the quantizing error. This signal D(k) is sent to the tap coefficients adaptation for adaptive-zero predictor 64, the adaptive-zero predictor 65, the adder 66, the tap coefficients adaptation for adaptive-pole predictor 67, and the offset predictor 68. The tap coefficients adaptation for adaptive-zero predictor 64 uses the reconstructed difference signals D(k) and D(k-i) (i = 1 to 10) to update the tap coefficients bi (i = 1 to 10) as shown in formulas (26) and (27), and sends them to the adaptive-zero predictor 65. bi(k) = (1 - 2⁻⁷)bi(k-1) + 2⁻⁶tsgn{D(k)}tsgn{D(k-1)} (26) where the tap coefficients output according to the bit-rate switching signal QS input at the external input terminal 69 are given by formula (27): where f(·) indicates the execution of a prespecified process for truncating the fraction part. The adaptive-zero predictor 65 calculates the adaptive-zero predictor estimate e1(k) from the tap coefficients bi received from the tap coefficients adaptation for adaptive-zero predictor 64 and the reconstructed difference signal D(k-i) (i = 1 to 10) according to formula (28). The adaptive-zero predictor estimate e1(k) is sent to the adders 66 and 82. The adder 66 adds the adaptive zero predictor estimate e1(k) received from the adaptive-zero predictor 65 and the reconstructed difference signal D(k), generates a first partial reconstructed value D1(k), and sends it to the adaptive gain controller (I) 70 and the adder 76. The tap coefficients adaptation for adaptive-pole predictor 67 update the adaptive pole predictor tap coefficients ai (i = 1 to 4) according to the formula given below, using the reconstructed difference signals D(k) and D(k-i) (i = 1 to 4) received from the inverse adaptive quantizer 59. The wi(k) in formula (29) are disposed at separated positions on the unit circle in the Z-plane, so, the updated values satisfy a separation rule. (U.S. Patent Application No. 011050, corresponding to Patent No. US-A-4779225). where w₀(k) = 0, w₅(k) = n, W₁ = 0.3501, W₂=0.5520, W₃=1.5010, W₄=2.2160, W₅=0.1570, W₆= W₇=W₈=0.0313, and W₉=0.3928. p₁(k) = D(k) + {1 - r₃(3)}{D(k-1) + D(k-2)} + D(k-3) p₂(k) = D(k) - {1 + r₄(k)}{D(k-1) - D(k-2)} - D(k-3) (30) p₃(k) = D(k) + {1 - r₁(k)}{D(k-1) + D(k-2)} + D(k-3) p₄(k) = D(k) - {1 + r₂(k)}{D(k-1) - D(k-2)} - D(k-3) The tap coefficients derived from the wi(k) satisfying the separation rule are: a₁(k) = -r₁(k) - r₂(k) - r₃(k) - r₄(k) a₂(k) = 4 - r₁(k) + r₂(k) - r₃(k) + r₄(k) + r₁(k)r₃(k) + r₂(k)r₄(k) a₃(k) = -r₁(k) - r₂(k) - r₃(k) - r₄(k) + r₁(k)r₃(k) - r₂(k)r₄(k) a₄(k) = 2 - r₁(k) + r₂(k) - r₃(k) + r₄(k) (31) where r i (k) is the coefficient given by formula (32): r i (k) = 2cos{w i (k)} (32) The adaptive-pole predictor tap coefficients a i (i = 1 to 4) obtained from formula (31) are sent to the adaptive gain controller (I) 70 and the adaptive-pole predictor 71. The adaptive gain controller (I) 70 receives the first partial reconstructed value D1(k) generated by the adder 66 and the a i (i = 1 to 4) calculated by the tap coefficients adaptation for adaptive-pole predictor 67 and calculates an adaptive coefficient g1(k) from the following formula: g1(k) = (1 - 2⁻¹⁰)g1(k-1) + α·tsgn{D1(k)}tsgn{e5(k)} (33) where e5(k) is: and α is 2⁻⁸ when the bit-rate switching signal QS input at the external input terminal 80 is QS = 1 or QS = 3, and α=2⁻⁷ when QS=2. The g1(k) updated according to formula (33) is limited so that -0.125≦g1(k)≦1.25, then finally g2(k) is determined from formula (35) and sent to the coefficient circuit 74. The adder 76 adds the estimate e2(k) calculated by the adaptive-pole predictor 71 and the first partial reconstructed value D1(k) generated by the adder 66, generates a second partial reconstructed value D2(k), and sends it to the adaptive-pole predictor 71, the adaptive gain controller (II) 72, and the adder 77. The estimated output of the adaptive-pole predictor 71 is calculated according to formula (36): The adaptive gain controller (II) 72 performs the following calculation using the second partial reconstructed value D2(k) generated by the adder 76 and the value 1/u(k) received from the scale factor adaptation section 56: where e6(k) is: e6(k) = 0.5017 D2(k-1) - 0.36755 D2(k-2) - 0.5343 D2(k-3) (38) When the value of the bit-rate switching signal QS input at the external input terminal 81 is QS = 2, formula (37) is altered to formula (39): g4(k) = (1 - 2⁻¹⁰){g4(k-1) - 1} + 1 - 2⁻⁷ (39) The value of g4(k) as updated by formula (37) or (39) is limited by -0.125≦g4(k)≦1.25, then finally g3(k) is determined from formula (40) and sent to the coefficient circuit 75. The adder 77 adds the estimate e3(k) from the fixed-pole predictor 73 and the second partial reconstructed value D2(k) generated by the adder 76, generates a third partial reconstructed value D3(k), and sends it to the fixed-pole predictor 73. The fixed-pole predictor 73 calculates the estimate e3(k) according to formula (41): where c i (i = 1 to 16) is the value given in Table 13. The offset predictor 68, which rejects the offset component of the input signal, receives the reconstructed difference signal D(k) output from the inverse adaptive quantizer 59 and the value 1/u(k) output from the quantizer scale factor adaptation 56 and calculates an estimate e4(k) according to formula (42): To obtain the estimate e(k) of the adaptive predictor 54, first the adder 79 adds the estimate e4(k) from the offset predictor 68 to the estimate e3(k) from the fixed-pole predictor 73, then the adder 78 adds the output of the adder 79 to the estimate e2(k) of the adaptive-pole predictor 71, then finally the adder 82 adds the output from the adder 78 to the estimate e1(k) of the adaptive-zero predictor 65. Next the operation of the decoder 100 will be explained. The ADPCM code I(k) received at the code input terminal 101 is supplied to the inverse adaptive quantizer 102, which generates a reconstructed difference signal D(k) using a scale factor u(k) from the quantizer scale factor adaptation 104. This reconstructed signal D(k) is sent to the adder 122, which adds it to an estimated value e1(k) from the adaptive-zero predictor 121 to obtain a first partial reconstructed value D1(k). Next the first reconstructed value D1(k) is sent to the adder 132, which adds it to an estimated value e2(k) from the adaptive-pole predictor 127 to obtain a second partial reconstructed value D2(k). The second partial reconstructed value D2(k) is sent to the adder 133, which adds it to an estimated value e3(k) from the fixed-pole predictor 129 to obtain a third partial reconstructed value D3(k). The adder 139 adds the third partial reconstructed value D3(k) and an estimated value e4(k) from the offset predictor 124 to form the reconstructed signal s1(k) of the input signal s(k). The line status diagnostic section 105 detects the following values of the ADPCM code I(k) input at the code input terminal 101, depending on the bit-rate switching signal input at the external input terminal 114: "1 1 1 1" when QS = 1 "1 1 1" when QS = 2 "1 1 1 1" when QS = 3 When such a value is detected continuously for at least a preset time, a TRG (trigger) signal is set to "1" and sent to the reset circuit 106. When the TRG signal is "1," the reset circuit 106 forcibly sets the state of the internal memories of the adaptation mode controller 103, the quantizer scale factor adaptation 104, the tap coefficients adaptation for adaptive-zero predictor 120, the adaptive-zero predictor 121, the adaptive gain controller (I) 126, the tap coefficients adaptation for adaptive-pole predictor 123, the adaptive-pole predictor 127, the adaptive gain controller (II) 128, the fixed-pole predictor 129, and the offset predictor 124 to a specified state, and sets all eight bits of the output Y(k) of the synchronous coding adjustment 109 to "1" in the µ-law case, or to "0" in the A-law case. As long as no bit error occurs between the code output terminal 110 and the code input terminal 101 or the reset circuit 106 present only in the decoder 100 does not operate, the adaptation mode controller 103, the quantizer scale factor adaptation 104, and the elements (120, 121, 126, 123, 127, 128, 129, and 124) of the adaptive predictor 107 in the decoder 100 operate identically to the corresponding elements 61, 56, 54 (64, 65, 70, 67, 71, 72, 73, and 68) of the encoder 50, and their internal states also agree. The reconstructed signal s1(k) of the input signal s(k) is input to the output PCM format conversion 108, converted to a µ-law or A-law PCM code X(k), and sent to the synchronous coding adjustment 109. The synchronous coding adjustment 109 adjusts the quantizing error that occurred in the PCM-ADPCM conversion and sends an eight-bit PCM code Y(k) to the output terminal 110. In this embodiment, first, the adaptive predictor is structured as follows in order to obtain a signal estimate that closely matches time-dependent variations in the input signal: the input signal is considered to consist of a fluctuating-frequency component and fixed component with a substantially unvarying frequency composition; adaptive-pole and adaptive-zero predictors of arbitrary order are provided for the fluctuating component; a fixed-pole predictors of arbitrary order is provided for the fixed component; an offset predictors is provided to reject the offset component; these elements are connected in series; and a circuit is provided to control the estimates output from the adaptive- and fixed-pole predictor. Next, for the adaptive quantizer and inverse adaptive quantizer, the cases in which the input signal power shows large fluctuations over time and small fluctuations over time are treated separately, and a circuit is provided that can be set to a short-term mode for large fluctuations and a long-term mode for small fluctuations. In addition, external input terminals are provided for an input signal that can select 32, 24, or 40-kbits/s as the bit rate. The first effect of the preceding embodiment having this structure will be described with reference to Fig. 2. Fig. 2 is a graph illustrating the performance of this embodiment for a 32-kbit/s ADPCM signal with a CCITT standard V.29 modem operating at 9600bit/s : specifically, it shows the line S/N vs. block error rate characteristic. In this graph numeral 21 denotes the embodiment described above; numeral 22 denotes the characteristic given in CCITT recommendation G.721. The characteristics in Fig. 2 were obtained under the measurement conditions of Report R-28 of CCITT SG-18. The subscripts 1, 2, and 3 in the graph indicate the number of asynchronous interconnections. As is clear from Fig. 2, the embodiment of the present invention gives modem signal transmission characteristics that are superior to CCITT recommendation G.721. A second effect of the embodiment of this invention is that it permits the selection of 24 kbit/s, and avoided hence the freezeout of input tranks commonly used in DSI systems. A third effect will be described with reference to Fig. 3. Fig. 3 is a graph illustrating the performance of this embodiment for a 40-kbit/s ADPCM signal with a CCITT standard V.29 modem operating at 9600 bit/s : specifically, it shows the line S/N vs. block error rate characteristic. The subscripts 2 and 4 in the graph indicate the number of asynchronous interconnections. The measurement conditions are the same as for Fig. 2. As is clear from Fig. 3, it is possible to transmit V.29 9600 bit/s modem signals over three or more asynchronous tandem links. As explained in detail above, this invention has the advantages of being able to transmit high-speed modem signals, avoiding the freezeout of input tranks commonly used in DSI systems, and being able to transmit 9600 bit/s and higher-speed modem signals over three or more asynchronously interconnected links.

Claims: An ADPCM encoding and decoding unit consisting of an encoder (50) having an adaptive predictor (54), an adaptive quantizer (55) and an inverse adaptive quantizer (59); and a decoder (100) having an adaptive predictor (107) and an inverse adaptive quantizer (102); the adaptive predictor (54,107) in each of the encoder (50) and the decoder (100) receiving a reconstructed difference signal from the respective inverse adaptive quantizer (59,102) and comprising an adaptive-zero predictor (65,121) of an arbitrary order for receiving the difference signal and generating estimates of signals with time-varying frequency components, an adaptive-pole predictor (71,127) of an arbitrary order for receiving the difference signal modified by the adaptive-zero predictor (65,121) and generating estimates of input signals with time-varying frequency components, a fixed-pole predictor (73,129) of an arbitrary order for receiving the difference signal further modified by the adaptive-pole predictor (71,127) and generating estimates of input signals the frequency components of which remain substantially invariant with time, and CHARACTERIZED BY an offset predictor (68,124) connected in parallel with the adaptive-zero predictor (65,121), adaptive-pole predictor (71,127) and fixed-pole predictor (73,129), for receiving the reconstructed difference signal and rejecting an offset component of the input signals. An ADPCM encoding and decoding unit according to claim 1, wherein the encoder (50) and the decoder (100) each further comprises a control circuit (70,72,126,128) which varies successively the outputs of the adaptive-pole predictor (65,121) and the fixed-pole predictor (73,129). An ADPCM encoding and decoding unit according to claim 1 or claim 2, wherein the characteristic of the adaptive-pole predictor (54,107) is expressed by a pair of Chebyshev polynomials having roots located at separated positions on the unit circle in the Z-plane. An ADPCM encoding and decoding unit according to any preceding claim, wherein the encoder (50) and the decoder (100) each further comprises an adaptation mode controller (61,103) receiving an input signal to the inverse adaptive quantizer (59,102) and an output signal of the inverse adaptive quantizer (59,102) determined from the input signal, wherein the adaptation mode controller (61,103) has a first circuit for detecting fluctuations in the frequency components of the output signal of the inverse adaptive quantizer (59,102), a second circuit for detecting time-dependent fluctuations in the power of the output signal of the inverse adaptive quantizer (59,102), and a third circuit for selecting either a short-term mode or a long-term mode for the output signal of the inverse adaptive quantizer (59,102), according to the detection result of said first circuit and/or said second circuit. An ADPCM encoding and decoding unit according to any preceding claim, wherein the adaptive predictor (54,107), the adaptive quantizer (55) and the inverse adaptive quantizer (59,102) are each responsive to a bit selection signal supplied from outside of the ADPCM encoding and decoding unit; the bit selection signal selecting the bit rate at which the adaptive predictor (54,107), the adaptive quantizer (55) and the inverse adaptive quantizer (59,102) operate. An ADPCM encoder (50) having an adaptive predictor (54), an adaptive quantizer (55) and an inverse adaptive quantizer (59); the adaptive predictor (54) receiving a reconstructed difference signal from the inverse adaptive quantizer (59) and comprising an adaptive-zero predictor (65) of an arbitrary order for receiving the difference signal and generating estimates of input signals with time-varying frequency components, an adaptive-pole predictor (71) of an arbitrary order for receiving the difference signal modified by the adaptive-zero predictor (65) and generating estimates of input signals with time-varying frequency components, a fixed-pole predictor (73) of an arbitrary order for receiving the difference signal further modified by the adaptive-pole predictor (71) and generating estimates of input signals the frequency components of which remain substantially invariant with time, CHARACTERIZED BY an offset predictor (68) connected in parallel with the adaptive-zero predictor (65), adaptive-pole predictor (71) and fixed-pole predictor (73) for receiving the reconstructed difference signal and rejecting an offset component of the input signals. An ADPCM decoder (100) having an adaptive predictor (107) and an inverse adaptive quantizer (102); the adaptive predictor (107) receiving a reconstructed difference signal from the inverse adaptive quantizer (102) and comprising an adaptive-zero predictor (121) of an arbitrary order for receiving the difference signal and generating estimates of input signals with time-varying frequency components, an adaptive-pole predictor (127) of an arbitrary order for receiving the difference signal modified by the adaptive-zero predictor (121) and generating estimates of input signals with time-varying frequency components, a fixed-pole predictor (129) of an arbitrary order for receiving the difference signal further modified by the adaptive-pole predictor (127) and generating estimates of input signals the frequency components of which remain substantially invariant with time, and CHARACTERIZED BY an offset predictor (124) connected in parallel with the adaptive-zero predictor (121), adaptive-pole predictor (127) and fixed-pole predictor (129), for receiving the reconstructed difference signal and for rejecting an offset component of the input signals.

Inventors: HOSODA, KENICHIRO OKI ELECTRIC INDUSTRY CO. LTD., KAWAGUCHI, SHINJI OKI ELECTRIC INDUSTRY CO. LTD., SHINBO, ATSUSHI OKI ELECTRIC INDUSTRY CO. LTD., YOKOTA, KIYOSHI OKI ELECTRIC INDUSTRY CO. LTD.
Applicants: OKI ELECTRIC INDUSTRY COMPANY, LIMITED
Application year: 1988
Main classification: H03M3
IPC codes: H03M3, G10L19, H03M7