WO1997036249A2 - Reduced complexity signal transmission system - Google Patents

Reduced complexity signal transmission system Download PDF

Info

Publication number
WO1997036249A2
WO1997036249A2 PCT/IB1997/000211 IB9700211W WO9736249A2 WO 1997036249 A2 WO1997036249 A2 WO 1997036249A2 IB 9700211 W IB9700211 W IB 9700211W WO 9736249 A2 WO9736249 A2 WO 9736249A2
Authority
WO
WIPO (PCT)
Prior art keywords
analysis
deriving
coefficient
quantisation
level
Prior art date
Application number
PCT/IB1997/000211
Other languages
French (fr)
Other versions
WO1997036249A3 (en
Inventor
Friedhelm Wuppermann
Fransiscus Marinus Jozephus De Bont
Original Assignee
Philips Electronics N.V.
Philips Norden Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Electronics N.V., Philips Norden Ab filed Critical Philips Electronics N.V.
Priority to EP97903540A priority Critical patent/EP0830652A2/en
Priority to JP9534169A priority patent/JPH11505637A/en
Publication of WO1997036249A2 publication Critical patent/WO1997036249A2/en
Publication of WO1997036249A3 publication Critical patent/WO1997036249A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0012Smoothing of parameters of the decoder interpolation

Definitions

  • the invention is related to a transmission system comprising a transmitter having an encoder for coding an input signal of the transmitter, said encoder comprising analysis means for deriving at least one analysis coefficient from the input signal, and quantisation means for deriving a level number representing a quantisation level of said analysis coefficient, the transmitter being arranged for transmitting an encoded signal comprising the level number to a receiver, the receiver comprising a decoder for deriving a decoded signal from the encoded signal.
  • the present invention is also related to a transmitter, a receiver, an encoder, a decoder, a transmission method and an receiving method.
  • a transmission system according to the preamble is known from GSM recommendation 06.10, GSM full rate speech transcoding published by European Telecom ⁇ munication Standardisation Institute (ETSI) January 1992.
  • Such transmission systems can be used for transmission of e.g. speech signals via a transmission medium such as a radio channel, a coaxial cable or an optical fibre.
  • a transmission medium such as a radio channel, a coaxial cable or an optical fibre.
  • Such transmission systems can also be used for recording of (speech) signals on a recording medium such as a magnetic tape or disc.
  • Possible applications are automatic answering machines or dictating machines.
  • the speech signals to be trans ⁇ mitted are often coded using the analysis by synthesis technique.
  • a synthetic signal is generated by means of a synthesis filter which is excited by a plurality of excitation sequences.
  • the synthetic speech signal is determined for a plurality of excitation sequences, and an error signal representing the error between the synthetic signal, and a target signal derived from the input signal is determined.
  • the excitation sequence resulting in the smallest error is selected and transmitted in coded form to the receiver.
  • the properties of the synthesis filter are derived from characteristic
  • the analysis coefficients often in the form of so-called prediction coefficients are derived from the input signal. These prediction coefficients are regularly updated to cope with the changing properties of the input signal.
  • the prediction coefficients are also transmitted to the receiver.
  • the excitation sequence is recovered, and a synthetic signal is generated by applying the excitation sequence to a synthesis filter. This synthetic signal is a replica of the input signal of the transmitter.
  • the update period of the analysis coefficients is larger than the duration of an excitation sequence. Usually, an integer number of excitation sequences fits in one update period of the analysis coefficients.
  • the interpolated analysis coeffi ⁇ cients are calculated for each excitation sequence. With the interpolation between consecutive analysis coefficients a substantial amount of computations are involved.
  • a second reason for using interpolation is in the case one set of analysis parameters is received in error. An approximation of said erroneously received set of analysis parameters can be obtained by interpolating the level numbers of the previous set analysis parameters and the next set of analysis parameters.
  • the object of the present invention is to provide a transmission system according to the preamble in which the computational complexity is reduced.
  • the transmission system according to the invention is characterised in that the decoder comprises interpolation means for deriving from at least two subsequently received level numbers corresponding to said analysis coefficient an interpolated level number, and in that the decoder comprises analysis coefficient decoding means for deriving a value for a decoded analysis coefficient corresponding to said interpolated level number.
  • An embodiment of the invention is characterised in that the level numbers correspond to levels of a first type of analysis coefficient, and in that the decoded analysis coefficient is of a second type of analysis coefficient.
  • the present invention allows a direct generation of the second type of prediction coefficients from the interpolated level number by means of a table or by calculation means.
  • the level numbers have first to be converted to the first type of prediction parameter, and can only be converted into the second type of prediction parameter after interpolation.
  • a further embodiment of the invention is characterised in that the analysis means are arranged for deriving a plurality of analysis coefficients from the input signal, in that the decoder comprises means for deriving from the received level numbers for the analysis coefficients involved, analysis coefficient indices, and in that the analysis coefficient decoding means comprises common decoding table means for deriving decoded analysis coefficients corresponding to said analysis coefficient indices.
  • Fig. l a transmission system according to the invention
  • Fig. 2 an embodiment of the quantiser 14 for use in a transmission system according to Fig. 1;
  • FIG. 3 a flow diagram for a program for the processor 32 in Fig. 2, performing the quantisation according to the invention
  • FIG. 4 an embodiment of the combination of the interpolator 22 and the decoding means 24 for use in the transmission system according to Fig. 1;
  • Fig. 5 a flow diagram for a program for the processor 92 in Fig. 4, performing the interpolation and decoding of the prediction coefficients according to the invention.
  • the input signal is applied to an input of a transmitter 2.
  • the input signal is applied to an input of an encoder 7.
  • the input is connected to the analysis means being here linear predictive analysis means 8, and to an input of excitation signal determination means 9.
  • the linear predictive analysis means 8 comprise a cascade connection of a linear predictor 10, with output signal a[k] representing the analysis coefficients and a coefficient converter 12 with output signal r[k] or alternatively LAR[k].
  • the output of the linear predictive analysis means 8 is connected to an input of the quantisation means 14.
  • An output of the quantisation means 4 is connected to an input of a multiplexer 16 and to an input of the excitation signal determination means 9.
  • the ou ⁇ ut of the excitation signal excitation means 9 is connected to a second input of the multiplexer 16.
  • the output signal of the multiplexer 16 is transmitted by the transmitter 2 via a transmission medium 4 to the receiver 6.
  • the input signal of the receiver 6 is connected to an input of a demultiple ⁇ xer 20.
  • a first and a second output of the demultiplexer 20 are connected to a corresponding input of a decoder 18.
  • the first input of the decoder 18 is connected to an input of the interpolation means 22.
  • An output of the interpolation means 22 is connected to the analysis coefficient decoding means, being here prediction coefficient decoding means 24.
  • the output of the prediction coefficient decoding means carrying an output signal f is connected to an input of a synthesis filter 28.
  • the second input of the decoder 18 is connected to an input of an excitation signal generator 26.
  • the output of the excitation signal generator 26 is connected to a second input of the synthesis filter 28.
  • the output signal of the receiver is available at the output of the synthesis filter 28.
  • the linear predictive analysis means 8 are arranged for determining for each frame P prediction coefficients.
  • the linear predictor 10 determines prediction coefficients a[0] • • • a[P-l], in which the coefficients a[k] are chosen to minimise a prediction error E.
  • the determination of the prediction coefficients a[k] and other types of prediction coefficients is well known to those skilled in the art, and is e.g. described in the book "Speech Communication" by Douglas O' Shaughnessy, Chapter 8, pp. 336-378.
  • the coefficient converter 12 transforms the prediction coefficients deter ⁇ mined by the predictor 10 into a different type of prediction coefficient better suited for quantisation and transmission.
  • a first possibility is that the coefficient converter converts the coefficients a[k] into reflection coefficients r[k]. It is also possible that the reflection coefficients are converted into Log Area Ratios (LARs) according to:
  • these coefficients are uniformly quantised by the quantiser 14 with a quantisation step ⁇ .
  • the decision levels are given by ⁇ 1 - ⁇ , 1 being a positive integer, and die representation levels are ⁇ (V£ +1) • ⁇ .
  • die representation levels are ⁇ (V£ +1) • ⁇ .
  • the excitation signal determination means 9 determine an excitation signal to be used with the synthesis filter 28 in the receiver.
  • the excitation signal can be determined in many ways as is known to those skilled in the art. It is e.g. possible to filter the input signal by an analysis filter and to use a coded version of the residual signal at the output of the analysis filter as excitation signal as is prescribed in the GSM 06.10 recommendation . It is also possible to determine an optimal excitation signal out of a limited number of possible excitations by means of an analysis by synthesis method, as in done in transmission systems using the CELP (Code Excited Linear Prediction) coding technology.
  • the coded excitation signal is multiplexed with the level numbers of the prediction coefficients in the multiplexer 16.
  • the ou ⁇ ut signal of the multiplexer 16 is transmitted to the receiver 6.
  • the demultiplexer 20 separates the coded excitation signal and the level numbers of the prediction coefficients. As explained above the prediction coefficients are updated only once per S excitation subframes.
  • the interpolator 22 determines for each of the subframes for all prediction coefficients an interpolated level number I[k] according to: ⁇ r ⁇ ⁇ ( S-s-l ) - C ⁇ k] + ( if S ) - C [ ⁇ ]
  • C_[k] represents the previous set of level numbers
  • C[k] represents the updated set of level numbers
  • s is the number of the subframe involved.
  • the prediction coefficient decoder 24 determines the decoded prediction coefficients r " [k].
  • the decoded prediction coefficients are applied to the synthesis filter, which generates from the excitation signal generated by the excitation generator a synthetic replica of the input signal of the transmitter.
  • the prediction coefficients r[k] are applied to a first input of a processor 32.
  • a first ou ⁇ ut of the processor 32, carrying an ou ⁇ ut signal k, is connected to a memory unit 34.
  • An ou ⁇ ut of the memory unit 34 carrying an ou ⁇ ut signals I and N is connected to a second input of the processor 32.
  • a second ou ⁇ ut of the processor 32, carrying ou ⁇ ut signal I, is connected to an input of a memory unit 30.
  • An ou ⁇ ut of the memory unit 30 is connected to a third input of the processor 32.
  • the level numbers C[k] are available at a third ou ⁇ ut of the processor 32.
  • Fig. 3 shows a flowchart of a program for the processor 32 performing the quantisation operation.
  • the inscripts of the labelled blocks have the following meaning:
  • instruction 40 of the flowgraph according to Fig. 3 the program is started and the relevant variables are initialised.
  • instruction 42 the value of k is set to 0 to indicate the prediction coefficient r[0].
  • instruction the index I of the first reference level stored in the memory means 30 and the number of reference levels involved with the quantisation of r[k] are read from the memory means 34.
  • the memory means 34 store the values of I and N as function of k according to the Table 1 presented below.
  • instruction 46 the values of the minimum index and the maximum index to be used with the memory means 30 are calculated from N and I read from the memory means 34.
  • instruction 48 the reference value REF stored at index IL Q W > S rea ⁇ from the memory means 30.
  • the reference values REF as function of the index I are presented in Table 2 below.
  • the value of r[k] is compared with the value REF[I LOW ]. If r[k] is smaller or equal to REF[I L0W ] the level number C[k] is made equal to I LOW in instruction 64. Subsequently the program continues at instruction 80. If r[k] is larger than REF[I LOW ], the value REF[I HjGH ] is read in instruction 62 from the memory unit 30. In instruction 68 the value of r[k] is compared with REF[I HIGH ]. If the value of r[k] is larger than REF[I HIGH ] the level number C[k] is made equal to IHI G H instruction 66. Subsequently the program continues at instruction 80.
  • the value of r[k] is smaller or equal than REF[I HIGH ]
  • the value of I is incremented in instruction 70.
  • instruction 72 the next reference value REF[I] is read from the memory means 32.
  • instruction 74 it is checked whether r[k] has a value between the previous and the current reference value. It this is the case, in instruction 78 the level number C[k] is made equal to I. Otherwise I is compared with I H I G H- ⁇ i s smaller than I HIGH , the program continues at instruction 70 with the next reference level. If I is larger or equal than IHI G H > me program continues at instruction 80.
  • instruction 80 the value of the level index C[k] is decreased with I L ow- This is done to arrive at level numbers with values from 0 up to a maximum value.
  • instruction 82 the value of k is incremented in order to deal with the quantisation of the next prediction parameter.
  • instruction 84 k is compared widi the prediction order P. If k is larger or equal than P the program continues at instruction 44 with the quantisation of the next prediction parameter r[k]. Otherwise the program is terminated in instruction 86.
  • the level numbers C[k] are applied to a first input of a processor 92.
  • a first ou ⁇ ut of the processor 92, carrying an ou ⁇ ut signal k, is connected to a memory unit 94.
  • An ou ⁇ ut of the memory unit 94, carrying an ou ⁇ ut signal O, is connected to a second input of the processor 92.
  • a second ou ⁇ ut of the processor 92, carrying ou ⁇ ut signal M, is connected to an input of a memory unit 90.
  • An ou ⁇ ut of the memory unit 90 is connected to a third input of the processor 32.
  • the decoded prediction coefficients T[k] are available at a third ou ⁇ ut of the processor 92.
  • Fig. 5 shows a flowchart of a program for the processor 92 performing the function of the interpolator 22 and the prediction coefficient decoder 24.
  • the inscripts of the labelled blocks have the following meaning: No. Inscript Meaning
  • instruction 90 the program according to the flowchart of Fig. 5 is started, In instruction 90 s is set to 0 indicating the first subframe. In instruction 96 an interpolated level number TMP is calculated from the previous set of level numbers C p [k] and the current set of level numbers C[k]. - In instruction 98 the position O of the first value of F[k] in the memory means 90 is read from the memory means 94.
  • the memory means 94 hold a table similar as Table 1 , but without the number of N because they are not needed for decoding.
  • instruction 100 the position of the value of f [ l corresponding to the level number ROUND(TMP) is calculated by adding the value O to the rounded value of TMP.
  • instruction 102 the value " of r [k] is read from the memory unit 90.
  • the values of 7 as function of the index M are presented " in Table 3 below.
  • Table 3 The entries of Table 3 have been determined by calculating (3) using ⁇ -0.25.
  • instruction 104 the value of k is incremented as preparation for the determination of the next value of 7[k].
  • instruction 106 k is compared with P. If k is smaller than P, the program is continued at instruction 96 for determining the next value of 7[k]. Otherwise the value of s is incremented in instruction 108.
  • instruction 110 the value of s is compared with S. If s is smaller than S, the program is continued at instruction 94 for determining the values of 7[k] for the next subframe. Otherwise the program is terminated in instruction 112.
  • Table 4 It is possible to merge the Tables 2 and 3 into one single table with an increased number of entries.
  • the single table is given below as Table 4.
  • the even entries of table 4 hold the values 7[k], and the odd entries hold the reference values REF.
  • the merged table allows a finer interpolation of 7[k] by using the reference levels stored in Table also as values of fk].

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Facsimiles In General (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

In a transmission system a signal is encoded in an encoder (7). The encoded signal is transmitted by a transmitter (2) via a transmission medium (4) to a receiver (6). In the encoder analysis parameters of the input signal are determined by analysis means (8) and quantised by quantisation means (14). The transmitter transmits quantisation level numbers to the receiver (6). In the receiver decoded analysis parameters are derived by interpolation level numbers of two subsequent sets of analysis parameters, and subsequently determining the corresponding analysis. By interpolating the level numbers instead of the analysis parameters themselves, a substantial amount of computational complexity is saved.

Description

"Reduced complexity signal transmission system"
The invention is related to a transmission system comprising a transmitter having an encoder for coding an input signal of the transmitter, said encoder comprising analysis means for deriving at least one analysis coefficient from the input signal, and quantisation means for deriving a level number representing a quantisation level of said analysis coefficient, the transmitter being arranged for transmitting an encoded signal comprising the level number to a receiver, the receiver comprising a decoder for deriving a decoded signal from the encoded signal.
The present invention is also related to a transmitter, a receiver, an encoder, a decoder, a transmission method and an receiving method. A transmission system according to the preamble is known from GSM recommendation 06.10, GSM full rate speech transcoding published by European Telecom¬ munication Standardisation Institute (ETSI) January 1992.
Such transmission systems can be used for transmission of e.g. speech signals via a transmission medium such as a radio channel, a coaxial cable or an optical fibre. Such transmission systems can also be used for recording of (speech) signals on a recording medium such as a magnetic tape or disc. Possible applications are automatic answering machines or dictating machines.
In modern speech transmission system, the speech signals to be trans¬ mitted are often coded using the analysis by synthesis technique. In this technique, a synthetic signal is generated by means of a synthesis filter which is excited by a plurality of excitation sequences. The synthetic speech signal is determined for a plurality of excitation sequences, and an error signal representing the error between the synthetic signal, and a target signal derived from the input signal is determined. The excitation sequence resulting in the smallest error is selected and transmitted in coded form to the receiver. The properties of the synthesis filter are derived from characteristic
-features of the input signal by analysis means. In general, the analysis coefficients often in the form of so-called prediction coefficients are derived from the input signal. These prediction coefficients are regularly updated to cope with the changing properties of the input signal. The prediction coefficients are also transmitted to the receiver. In the receiver, the excitation sequence is recovered, and a synthetic signal is generated by applying the excitation sequence to a synthesis filter. This synthetic signal is a replica of the input signal of the transmitter.
Often the update period of the analysis coefficients is larger than the duration of an excitation sequence. Mostly, an integer number of excitation sequences fits in one update period of the analysis coefficients. In order to improve the quality of the signal synthesised at the receiver, in the known transmission system the interpolated analysis coeffi¬ cients are calculated for each excitation sequence. With the interpolation between consecutive analysis coefficients a substantial amount of computations are involved. A second reason for using interpolation is in the case one set of analysis parameters is received in error. An approximation of said erroneously received set of analysis parameters can be obtained by interpolating the level numbers of the previous set analysis parameters and the next set of analysis parameters.
The object of the present invention is to provide a transmission system according to the preamble in which the computational complexity is reduced.
Therefor the transmission system according to the invention is characterised in that the decoder comprises interpolation means for deriving from at least two subsequently received level numbers corresponding to said analysis coefficient an interpolated level number, and in that the decoder comprises analysis coefficient decoding means for deriving a value for a decoded analysis coefficient corresponding to said interpolated level number.
By interpolating between level numbers, which are normally limited preci¬ sion numbers, instead of interpolating between the prediction coefficients, which have a larger precision than the level numbers, substantial savings on the computational complexity required for interpolation can be obtained. Experiments have shown that interpolation between level numbers instead of interpolation of prediction coefficient values does not involve a decrease of encoding quality.
An embodiment of the invention is characterised in that the level numbers correspond to levels of a first type of analysis coefficient, and in that the decoded analysis coefficient is of a second type of analysis coefficient..
The present invention allows a direct generation of the second type of prediction coefficients from the interpolated level number by means of a table or by calculation means. In the transmission system known from the above mentioned standard, the level numbers have first to be converted to the first type of prediction parameter, and can only be converted into the second type of prediction parameter after interpolation.
A further embodiment of the invention is characterised in that the analysis means are arranged for deriving a plurality of analysis coefficients from the input signal, in that the decoder comprises means for deriving from the received level numbers for the analysis coefficients involved, analysis coefficient indices, and in that the analysis coefficient decoding means comprises common decoding table means for deriving decoded analysis coefficients corresponding to said analysis coefficient indices.
By deriving a suitable index from the received level number, it becomes possible to use one single table for determining the value of all prediction coefficients, instead of requiring a table for each prediction coefficient. The idea of replacing a plurality of tables comprising a table for each prediction coefficient by a single table for all prediction coefficients can also be applied in the encoder.
The invention will now be explained with reference to the drawings.
Herein shows:
Fig. l, a transmission system according to the invention; Fig. 2, an embodiment of the quantiser 14 for use in a transmission system according to Fig. 1;
Fig. 3, a flow diagram for a program for the processor 32 in Fig. 2, performing the quantisation according to the invention;
Fig. 4, an embodiment of the combination of the interpolator 22 and the decoding means 24 for use in the transmission system according to Fig. 1; Fig. 5, a flow diagram for a program for the processor 92 in Fig. 4, performing the interpolation and decoding of the prediction coefficients according to the invention.
In the transmission system according to Fig. 1 , the input signal is applied to an input of a transmitter 2. In the transmitter 2, the input signal is applied to an input of an encoder 7. In the encoder 7, the input is connected to the analysis means being here linear predictive analysis means 8, and to an input of excitation signal determination means 9. The linear predictive analysis means 8 comprise a cascade connection of a linear predictor 10, with output signal a[k] representing the analysis coefficients and a coefficient converter 12 with output signal r[k] or alternatively LAR[k].
The output of the linear predictive analysis means 8 is connected to an input of the quantisation means 14. An output of the quantisation means 4 is connected to an input of a multiplexer 16 and to an input of the excitation signal determination means 9. The ouφut of the excitation signal excitation means 9 is connected to a second input of the multiplexer 16. The output signal of the multiplexer 16 is transmitted by the transmitter 2 via a transmission medium 4 to the receiver 6.
The input signal of the receiver 6 is connected to an input of a demultiple¬ xer 20. A first and a second output of the demultiplexer 20 are connected to a corresponding input of a decoder 18. The first input of the decoder 18 is connected to an input of the interpolation means 22. An output of the interpolation means 22 is connected to the analysis coefficient decoding means, being here prediction coefficient decoding means 24. The output of the prediction coefficient decoding means carrying an output signal f is connected to an input of a synthesis filter 28. The second input of the decoder 18 is connected to an input of an excitation signal generator 26. The output of the excitation signal generator 26 is connected to a second input of the synthesis filter 28. The output signal of the receiver is available at the output of the synthesis filter 28.
In the transmission system according to Fig. 1 , it is assumed that the input signal is divided into frames each consisting of S subframes. The linear predictive analysis means 8 are arranged for determining for each frame P prediction coefficients. The linear predictor 10 determines prediction coefficients a[0] • • • a[P-l], in which the coefficients a[k] are chosen to minimise a prediction error E. The determination of the prediction coefficients a[k] and other types of prediction coefficients is well known to those skilled in the art, and is e.g. described in the book "Speech Communication" by Douglas O' Shaughnessy, Chapter 8, pp. 336-378.
The coefficient converter 12 transforms the prediction coefficients deter¬ mined by the predictor 10 into a different type of prediction coefficient better suited for quantisation and transmission. A first possibility is that the coefficient converter converts the coefficients a[k] into reflection coefficients r[k]. It is also possible that the reflection coefficients are converted into Log Area Ratios (LARs) according to:
Figure imgf000007_0001
In the case LARs are used, these coefficients are uniformly quantised by the quantiser 14 with a quantisation step δ. The decision levels are given by ±1 - δ, 1 being a positive integer, and die representation levels are ±(V£ +1) δ. To each of the representation levels a level number is assigned which is passed on to the multiplexer 16.
In the case reflection coefficients are used, these coefficients are non- uniformly quantised by the quantiser 14. The decision levels are given by
Figure imgf000007_0002
and the representation levels are given by
l -e ± l δ D = , _ ( 3 )
1 + e ±/5
In this case also a level number is assigned to each of the representation levels, which level number is passed on to the multiplexer 16. The excitation signal determination means 9 determine an excitation signal to be used with the synthesis filter 28 in the receiver. The excitation signal can be determined in many ways as is known to those skilled in the art. It is e.g. possible to filter the input signal by an analysis filter and to use a coded version of the residual signal at the output of the analysis filter as excitation signal as is prescribed in the GSM 06.10 recommendation . It is also possible to determine an optimal excitation signal out of a limited number of possible excitations by means of an analysis by synthesis method, as in done in transmission systems using the CELP (Code Excited Linear Prediction) coding technology. The coded excitation signal is multiplexed with the level numbers of the prediction coefficients in the multiplexer 16. The ouφut signal of the multiplexer 16 is transmitted to the receiver 6.
In the receiver 6 the demultiplexer 20 separates the coded excitation signal and the level numbers of the prediction coefficients. As explained above the prediction coefficients are updated only once per S excitation subframes. The interpolator 22 determines for each of the subframes for all prediction coefficients an interpolated level number I[k] according to: τ r ι η ( S-s-l ) - CΛk] + ( ifS) - C [λ]
I [k] = . £. (4 )
In (4), C_[k] represents the previous set of level numbers, and C[k] represents the updated set of level numbers, s is the number of the subframe involved. The prediction coefficient decoder 24 determines the decoded prediction coefficients r"[k]. The decoded prediction coefficients are applied to the synthesis filter, which generates from the excitation signal generated by the excitation generator a synthetic replica of the input signal of the transmitter.
In the quantiser 14, the prediction coefficients r[k] are applied to a first input of a processor 32. A first ouφut of the processor 32, carrying an ouφut signal k, is connected to a memory unit 34. An ouφut of the memory unit 34 carrying an ouφut signals I and N is connected to a second input of the processor 32. A second ouφut of the processor 32, carrying ouφut signal I, is connected to an input of a memory unit 30. An ouφut of the memory unit 30 is connected to a third input of the processor 32. The level numbers C[k] are available at a third ouφut of the processor 32.
Fig. 3 shows a flowchart of a program for the processor 32 performing the quantisation operation. In Fig. 3 the inscripts of the labelled blocks have the following meaning:
No. Inscript Meaning
40 BEGIN The program is started.
42 k=0 The variable k is set to 0 44 READ I,N The index I for the first reference value and the number of reference values to be used is read from the memory unit 34.
46 LOW = I The smallest index IMIN and the largest index
HIGH = I+N-l IMAX are determined.
48 READ REF[ILOW] The smallest reference value is read from the memory unit 30.
60 r[k] ≤ REF[IL0W] ? r[k] is compared with the smallest reference value.
62 READ REF[IHIGH] The largest reference value is read from the memory unit 30.
64 C[k] =ILO The value C[k] is made equal to ILQW
66 C[ ] = IHiGH The value C[k] is made equal to IHIGH-
68 rrk] > REF[IHIGH] ? r[k] is compared with the largest reference value.
70 INC I The value of I is incremented.
72 READ REF[I] The next reference value is read from the memory unit 30.
74 REF[I-l] <r[k] ≤REF[I] ? The value of r[k] is compared with two subsequent reference levels.
76 f < ϊfflGH ? I is compared with the largest index IHIGH-
78 C[k]=I The value C[k] is made equal to I.
80 Cfk]=C[k]-IL0W C[k} is decrease with the ILQW- 82 INC k The value of k is incremented. 84 k > P ? The value of k is compared with P. 86 END The program is terminated.
In instruction 40 of the flowgraph according to Fig. 3, the program is started and the relevant variables are initialised. In instruction 42 the value of k is set to 0 to indicate the prediction coefficient r[0]. In instruction the index I of the first reference level stored in the memory means 30 and the number of reference levels involved with the quantisation of r[k] are read from the memory means 34. The memory means 34 store the values of I and N as function of k according to the Table 1 presented below.
k I N k I N
0 13 36 10 18 8
1 0 28 11 17 7
2 16 15 12 19 7
3 12 14 13 17 8
4 16 13 14 19 7
5 13 13 15 18 6
6 16 12 16 19 6
7 14 11 17 17 7
8 18 9 18 19 6
9 16 8 19 18 6
Table 1
In this table 20 prediction coefficients are taken into account.
In instruction 46 the values of the minimum index and the maximum index to be used with the memory means 30 are calculated from N and I read from the memory means 34. In instruction 48 the reference value REF stored at index ILQW >S rea^ from the memory means 30. The reference values REF as function of the index I are presented in Table 2 below.
Figure imgf000012_0001
The values in Table 2 are determined by calculating (2) for different values of 1, and with δ=0.25 .
In instruction 60 the value of r[k] is compared with the value REF[ILOW]. If r[k] is smaller or equal to REF[IL0W] the level number C[k] is made equal to ILOW in instruction 64. Subsequently the program continues at instruction 80. If r[k] is larger than REF[ILOW], the value REF[IHjGH] is read in instruction 62 from the memory unit 30. In instruction 68 the value of r[k] is compared with REF[IHIGH]. If the value of r[k] is larger than REF[IHIGH] the level number C[k] is made equal to IHIGH instruction 66. Subsequently the program continues at instruction 80.
If the value of r[k] is smaller or equal than REF[IHIGH], the value of I is incremented in instruction 70. In instruction 72 the next reference value REF[I] is read from the memory means 32. In instruction 74 it is checked whether r[k] has a value between the previous and the current reference value. It this is the case, in instruction 78 the level number C[k] is made equal to I. Otherwise I is compared with IHIGH- ^ is smaller than IHIGH, the program continues at instruction 70 with the next reference level. If I is larger or equal than IHIGH > me program continues at instruction 80.
In instruction 80 the value of the level index C[k] is decreased with ILow- This is done to arrive at level numbers with values from 0 up to a maximum value.
In instruction 82 the value of k is incremented in order to deal with the quantisation of the next prediction parameter. In instruction 84 k is compared widi the prediction order P. If k is larger or equal than P the program continues at instruction 44 with the quantisation of the next prediction parameter r[k]. Otherwise the program is terminated in instruction 86.
In the combination of the interpolator 22 and the prediction coefficient decoder 24 according to Fig. 4, the level numbers C[k] are applied to a first input of a processor 92. A first ouφut of the processor 92, carrying an ouφut signal k, is connected to a memory unit 94. An ouφut of the memory unit 94, carrying an ouφut signal O, is connected to a second input of the processor 92. A second ouφut of the processor 92, carrying ouφut signal M, is connected to an input of a memory unit 90. An ouφut of the memory unit 90 is connected to a third input of the processor 32. The decoded prediction coefficients T[k] are available at a third ouφut of the processor 92.
Fig. 5 shows a flowchart of a program for the processor 92 performing the function of the interpolator 22 and the prediction coefficient decoder 24. In Fig. 4 the inscripts of the labelled blocks have the following meaning: No. Inscript Meaning
90 BEGIN The program is started. 92 s=0 The subframe index s is set to 0. 94 k=0 The variable k is set to 0
96 TMP=((S-s-l) - Cp[k] + The interpolated level number is determined (l +s) - C[k])/S from the present and previous level number and the subframe index s.
98 READ O The value of O(k) is read from the memory unit 94.
100 M=O+ROUND(TMP) The index of the decoded prediction coefficient is calculated.
102 READ r[k] The value of r[k] is read from the memory means 90.
104 INC k The largest value k is incremented to deal with the next prediction parameter.
106 k > P ? The value of k is compared with P.
108 INC s Set s to a value indicating the next subframe.
110 s > S ? s is compared with S.
112 END The program is terminated.
In instruction 90 the program according to the flowchart of Fig. 5 is started, In instruction 90 s is set to 0 indicating the first subframe. In instruction 96 an interpolated level number TMP is calculated from the previous set of level numbers Cp[k] and the current set of level numbers C[k]. - In instruction 98 the position O of the first value of F[k] in the memory means 90 is read from the memory means 94. The memory means 94 hold a table similar as Table 1 , but without the number of N because they are not needed for decoding.
In instruction 100 the position of the value of f [ l corresponding to the level number ROUND(TMP) is calculated by adding the value O to the rounded value of TMP. In instruction 102, the value" of r [k] is read from the memory unit 90. The values of 7 as function of the index M are presented" in Table 3 below.
M r M 7
0 -0.9896 . 25 0.4621
1 -0.9866 26 0.5546
2 -0.9828 27 0.6351
3 -0.9780 28 0.7039
4 -0.9719 29 0.7616
5 -0.9640 30 0.8093
6 -0.9540 31 0.8483
7 -0.9414 32 0.8798
10 8 -0.9253 33 0.9051
9 -0.9051 34 0.9253
10 -0.8798 35 0.9414
11 -0.8483 36 0.9540
12 -0.8093 37 0.9640
15 13 -0.7616 38 0.9719
14 -0.7039 39 0.9780
15 -0.6351 40 0.9828
16 0.5546 41 0.9866
17 -0.4621 42 0.9896
20 18 0.3584 43 0.9919
19 -0.2449 44 0.9937
20 -0.1244 45 0.9951
21 0 46 0.9961
22 0.1244 47 0.9970
25 23 0.2449 48 0.9977
24 0.3584
Tabe3 The entries of Table 3 have been determined by calculating (3) using δ-0.25. In instruction 104, the value of k is incremented as preparation for the determination of the next value of 7[k]. In instruction 106 k is compared with P. If k is smaller than P, the program is continued at instruction 96 for determining the next value of 7[k]. Otherwise the value of s is incremented in instruction 108. In instruction 110, the value of s is compared with S. If s is smaller than S, the program is continued at instruction 94 for determining the values of 7[k] for the next subframe. Otherwise the program is terminated in instruction 112.
It is possible to merge the Tables 2 and 3 into one single table with an increased number of entries. The single table is given below as Table 4. The even entries of table 4 hold the values 7[k], and the odd entries hold the reference values REF.
I VALUE I VALUE I VALUE I VALUE
0 -0.9896 25 -0.7866 - 50 0.4621 75 0.9682
1 -0.9882 26 -0.7616 51 0.5098 76 0.9719
2 -0.9866 27 -0.7341 52 0.5546 77 0.9751
3 -0.9848 28 -0.7039 53 0.5964 78 0.9780
4 -0.9828 29 -0.6710 54 0.6351 79 0.9806
5 -0.9806 30 -0.6351 55 0.6710 80 0.9828
6 -0.9780 31 -0.5964 56 0.7039 81 0.9848
7 -0.9751 32 -0.5546 57 0.7341 82 0.9866
8 -0.9719 33 -0.5098 58 0.7616 83 0.9882
9 -0.9682 34 -0.4621 59 0.7866 84 0.9896
10 -0.9640 35 -0.4116 60 0.8093 85 0.9908
11 -0.9593 36 -0.3584 61 0.8298 86 0.9919
12 -0.9540 37 -0.3027 62 0.8483 87 0.9928
13 -0.9481 38 -0.2449 63 0.8649 88 0.9937
14 -0.9414 39 -0.1853 64 0.8798 89 0.9944
15 -0.9338 40 -0.1244 65 0.8932 90 0.9951
16 -0.9253 41 -0.0624 66 0.9051 91 0.9956
17 -0.9158 42 0 67 0.9158 92 0.9961
18 -0.9051 43 0.0624 68 0.9253 93 0.9966
19 -0.8932 44 0.1244 69 0.9338 94 0.9970
20 -0.8798 45 0.1853 70 0.9414 95 0.9973
21 -0.8649 46 0.2449 71 0.9481 96 0.9977
22 -0.8483 47 0.3027 72 0.9540 97 0.9999
23 -0.8298 48 0.3584 73 0.9593 98
24 -0.8093 49 0.4116 74 0.9640 99
TabTe 4
In order to be able to address Table 4, the programs according to Fig. 3 and Fig. 5 have to be slightly modified. In the program according to Fig. 3, in the instructions 48, 62, 68, 72 and 74*the index x used to address REF[x] has to be replaced by 2x+ l . Instruction 48 e.g. has to be modified into READ REF[2 ILOW2+ l].
The merged table allows a finer interpolation of 7[k] by using the reference levels stored in Table also as values of fk]. In order to obtain this, instruction 100 in Fig. 5 has to be changed into M =2 O+ ROUND(2 - TMP).

Claims

Claims:
1. Transmission system comprising a transmitter having an encoder for coding an input signal of the transmitter, said encoder comprising analysis means for deriving at least one analysis coefficient from the input signal, and quantisation means for deriving a level number representing a quantisation level of said analysis coefficient, the transmitter being arranged for transmitting an encoded signal comprising the level number to a receiver, the receiver comprising a decoder for deriving a decoded signal from the encoded signal, characterised in that the decoder comprises interpolation means for deriving from at least two subsequently received level numbers corresponding to said analysis coefficient an interpolated level number, and in that the decoder comprises analysis coefficient decoding means for deriving a value for a decoded analysis coefficient corresponding to said interpo¬ lated level number.
2. Transmission system according to claim 1, characterised in that the level numbers correspond to levels of a first type of analysis coefficient, and in that the decoded analysis coefficient is of a second type of analysis coefficient.
3. Transmission system according to claim 2, characterised in that the first type of analysis coefficient comprise log area ratios, and in that the second type of analysis coefficient comprise reflection coefficients.
4. Transmission system according to one of the previous claims, characterised in that the analysis means are arranged for deriving a plurality of analysis coefficients from the input signal, in that the decoder comprises means for deriving from the received level numbers for the analysis coefficients involved, analysis coefficient indices, and in that the analysis coefficient decoding means comprises common decoding table means for deriving decoded analysis coefficients corresponding to said analysis coefficient indices.
5. Transmission system according to one of the previous claims, characterised in that the analysis means are arranged for determining a plurality of analysis
"coefficients, in that the quantisation means comprises comparing means for comparing at least one of the analysis coefficients with at least one of a plurality of reference levels stored in encoding table means as function of an index in order to determine the level number of said analysis coefficient, and in that the quantisation means comprises level determining means for determining for at least "one of the plurality of analysis coefficients the indices of the encoding table means involved in the quantisation of the analysis coefficient
6. Receiver for receiving an encoded signal comprising a quantisation level number of at least one analysis coefficient, said receiver compπsing a decoder for deriving a decoded signal from the encoded signal, characterised in that the decoder comprises interpolation means for deriving from at least two subsequently received level numbers corresponding to said analysis coefficient an interpolated level number, and in that the decoder compπses decoding table means for deriving a value for a decoded analysis coefficient corresponding to said interpolated level number.
7. Receiver according to claim 6, characterised in that the decoder comprises means for deriving from the received level numbers for at least one analysis coefficient an index for the decodmg table means, and in that the decoding table means comprise common table means for the analysis coefficients involved.
8. Transmitter comprising an encoder for coding an input signal of the transmitter, said encoder compπsing analysis means for deriving at least one analysis coefficient from the input signal, and quantisation means for deriving a level number representing a quantisation level of said analysis coefficient, the transmitter being arranged for transmitting an encoded signal comprising the level number, characterised in that the analysis means are arranged for determining a plurality of analysis coefficients, in that the quantisation means compπses comparing means for comparing at least one of the analysis coefficients with at least one of a plurality of reference levels stored in encoding table means as function of an index in order to determine the level number of said analysis coefficient, and m that the quantisation means comprises level determining means for determining for at least one of the plurality of analysis coefficients the indices of the encoding table means involved m the quantisation of the analysis coefficient.
9. Decoder for deriving a decoded signal from an encoded signal comprising a quantisation level number of at least one analysis coefficient, characterised in that the decoder compπses interpolation means for deriving from at least two subsequently received level numbers corresponding to said analysis coefficient an interpolated level number, and in that the decoder comprises analysis coefficient decoding means for deriving a value for a decoded analysis coefficient corresponding to said interpolated level number
10. Encoder for deriving an encoded signal from an input signal, said encoder comprising analysis means for deriving at least one analysis coefficient from the input signal, and quantisation means for deriving a level number representing a quantisation level of said analysis coefficient level number, characterised in that the analysis means are arranged for determining a plurality of analysis coefficients, in that the quantisation means comprises comparing means for comparing at least one of the analysis coefficients with at least one of a plurality of reference levels stored in encoding table means as function of an index in order to determine the level number of said analysis coefficient, and in that the quantisation means comprises level determining means for determining for at least one of the plurality of analys¬ is coefficients the indices of the encoding table means involved in the quantisation of the analysis coefficient.
11. Transmission memod comprising encoding an input signal, said encoding comprising deriving at least one analysis coefficient from the input signal, deriving a level number representing a quantisation level of said analysis coefficient, and transmitting an encoded signal comprising the level number via a transmission medium, receiving the encoded signal from the transmission medium, deriving a decoded signal from the encoded signal, characterised in that the method comprises deriving from at least two subsequently received level numbers corresponding to said analysis coefficient an interpolated level number, and in that the method comprises deriving a value for a decoded analysis coefficient corresponding to said interpolated level number by means of analysis coefficient decoding means.
PCT/IB1997/000211 1996-03-22 1997-03-10 Reduced complexity signal transmission system WO1997036249A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP97903540A EP0830652A2 (en) 1996-03-22 1997-03-10 Reduced complexity signal transmission system
JP9534169A JPH11505637A (en) 1996-03-22 1997-03-10 Signal transmission system with reduced complexity

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP96200788.6 1996-03-22
EP96200788 1996-03-22

Publications (2)

Publication Number Publication Date
WO1997036249A2 true WO1997036249A2 (en) 1997-10-02
WO1997036249A3 WO1997036249A3 (en) 1997-11-20

Family

ID=8223806

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB1997/000211 WO1997036249A2 (en) 1996-03-22 1997-03-10 Reduced complexity signal transmission system

Country Status (7)

Country Link
US (1) US5943646A (en)
EP (1) EP0830652A2 (en)
JP (1) JPH11505637A (en)
KR (1) KR100482392B1 (en)
CN (1) CN1103973C (en)
TW (1) TW418584B (en)
WO (1) WO1997036249A2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4528551A (en) * 1979-11-28 1985-07-09 International Telephone And Telegraph Corporation Digital to analog converter employing sigma-delta modulation for use in telephone systems
US4744085A (en) * 1985-04-13 1988-05-10 Canon Kabushiki Kaisha Data processing device
US5070402A (en) * 1987-11-27 1991-12-03 Canon Kabushiki Kaisha Encoding image information transmission apparatus

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4975960A (en) * 1985-06-03 1990-12-04 Petajan Eric D Electronic facial tracking and detection system and method and apparatus for automated speech recognition
US4815134A (en) * 1987-09-08 1989-03-21 Texas Instruments Incorporated Very low rate speech encoder and decoder
US5012518A (en) * 1989-07-26 1991-04-30 Itt Corporation Low-bit-rate speech coder using LPC data reduction processing
CA2174744C (en) * 1993-10-22 2006-10-10 Michael Gene Emerson Database link system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4528551A (en) * 1979-11-28 1985-07-09 International Telephone And Telegraph Corporation Digital to analog converter employing sigma-delta modulation for use in telephone systems
US4744085A (en) * 1985-04-13 1988-05-10 Canon Kabushiki Kaisha Data processing device
US5070402A (en) * 1987-11-27 1991-12-03 Canon Kabushiki Kaisha Encoding image information transmission apparatus

Also Published As

Publication number Publication date
EP0830652A2 (en) 1998-03-25
KR19990014946A (en) 1999-02-25
JPH11505637A (en) 1999-05-21
CN1103973C (en) 2003-03-26
CN1185849A (en) 1998-06-24
US5943646A (en) 1999-08-24
TW418584B (en) 2001-01-11
WO1997036249A3 (en) 1997-11-20
KR100482392B1 (en) 2005-08-29

Similar Documents

Publication Publication Date Title
US4538234A (en) Adaptive predictive processing system
FI111486B (en) Method and apparatus for estimating and classifying a pitch signal pitch in digital speech encoders
KR100426514B1 (en) Reduced complexity signal transmission
EP1428206B1 (en) Bit error concealment methods for speech coding
EP1267329B1 (en) Speech coding including soft adaptibility feature
US6327562B1 (en) Method and device for coding an audio signal by “forward” and “backward” LPC analysis
US4726037A (en) Predictive communication system filtering arrangement
EP0501421A2 (en) Speech coding system
CA2173399A1 (en) Mobile communication equipment
US6014619A (en) Reduced complexity signal transmission system
EP0375551A2 (en) A speech coding/decoding system
KR100455970B1 (en) Reduced complexity of signal transmission systems, transmitters and transmission methods, encoders and coding methods
USRE32124E (en) Predictive signal coding with partitioned quantization
US6157907A (en) Interpolation in a speech decoder of a transmission system on the basis of transformed received prediction parameters
EP0996948B1 (en) Transmission system using an improved signal encoder and decoder
US5802109A (en) Speech encoding communication system
US5943646A (en) Signal transmission system in which level numbers representing quantization levels of analysis coefficients are interpolated
CA2124713C (en) Long term predictor
US5459784A (en) Dual-tone multifrequency (DTMF) signalling transparency for low-data-rate vocoders
CA2317969C (en) Method and apparatus for decoding speech signal
KR100668247B1 (en) Speech transmission system
US6038530A (en) Communication network for transmitting speech signals
JP3498749B2 (en) Silence processing method for voice coding
JP3085347B2 (en) Audio decoding method and apparatus
KR100563016B1 (en) Variable Bitrate Voice Transmission System

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 97190234.8

Country of ref document: CN

AK Designated states

Kind code of ref document: A2

Designated state(s): CN JP KR SG

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1997903540

Country of ref document: EP

AK Designated states

Kind code of ref document: A3

Designated state(s): CN JP KR SG

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1019970708292

Country of ref document: KR

ENP Entry into the national phase

Ref document number: 1997 534169

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1997903540

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019970708292

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1997903540

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1019970708292

Country of ref document: KR