Adaptive differential pulse code modulation system and method utilizing whitening filter for updating of predictor coefficients
OwnerPeter L. Chuinventor
Life of this patent
Estimating the term…
Abstract
An improved technique for processing digital audio signals is provided wherein adaptation of predictor coefficients in an ADPCM environment is caused to converge in a rapid and computationally efficient manner. The technique employs a whitening filter to generate a filtered reconstructed signal which is utilized to update, or adapt, the prediction coefficients of a pole-based predictor.
Claims38
An adaptive differential pulse code modulation system comprising:
- an encoder including:
- a subtractor configured for deriving a difference signal Ej, the difference signal Ej being the difference between an input signal Yj and a predicted signal Sj, j representing a sample period;
- a quantizer configured for quantizing the difference signal Ej to obtain a numerical representation Nj for transmission to an encoder inverse quantizer for deriving a regenerated difference signal Dj, and to a decoder inverse quantizer coupled to the quantizer through a network for deriving the regenerated difference signal Dj,
- an encoder adder configured for deriving a reconstructed input signal Xj, the reconstructed input signal Xj being the sum of the regenerated difference signal Dj and the predicted signal Sj;
- an encoder whitening filter Fe configured for receiving the reconstructed input signal Xj and for generating a filtered reconstructed signal Xfj, the
- Xjf=Xj−a1fXj−1a2fXj−2− . . . anfXj−n
- filtered reconstructed signal Xfj being generated according to the equation:
- Xj, being a value of reconstructed input signal Xj at sample period j−n, and;
- n being a number of filter tap coefficients afn corresponding to the whitening filter Fe;
- an encoder predictor Pep configured for receiving the reconstructed input signal Xj and for generating a predicted signal Sjp, the predicted signal Sjp being at least constituent to predicted signal Sj and being generated according to the equation:
- 7 S jp = a 1 j S j - 1 + a 2 j S j - 2 … a np j S j - np
- Sj−np being a value of the predicted signal Sj at sample period j−np, and
- np being a number of predictor coefficients ajnp corresponding to the predictor Pep;
- and
- an encoder feedback loop configured for applying the predicted signal Sj to the adder;
- transmission means configured for transmitting the numerical representation Nj from the encoder to a decoder;
- and
- the decoder including:
- the decoder inverse quantizer coupled to the quantizer through a network and configured for receiving the numerical representation Nj and for deriving the regenerated difference signal Dj therefrom,
- a decoder adder configured for deriving the reconstructed input signal Xj, the reconstructed input signal Xj being the sum of the regenerated difference signal Dj and the predicted signal Sj;
- a decoder whitening filter Fd configured for receiving the reconstructed input signal Xj and for generating the filtered reconstructed signal Xfj, the filtered reconstructed signal Xfj being generated according to the equation:
- Xfj=Xjaf1Xj−1−af2Xj−2− . . . afnXj−n
- Xj−n being a value of reconstructed signal Xj at sample period j−n, and n being the number of filter tap coefficients afn corresponding to the whitening filter Fd;
- a decoder predictor Pdp configured for receiving the reconstructed input signal Xj and for generating a predicted signal Sjp, the predicted signal Sjp being at least constituent to predicted signal Sj and being generated according to the equation:
- Sjp=a1jSj−1+a2jSj−2 . . . ajnpSj−np
- Sj−np being a value of the predicted signal Sj at sample period j−np, and
- np being the number of predictor coefficients ajnp corresponding to the predictor Pdp;
- and
- a decoder feedback loop configured for applying the predicted signal Sj to the decoder adder.
An encoder for encoding digital audio signals, comprising:
- a subtractor configured for deriving a difference signal Ej, the difference signal Ej being the difference between an input signal Yj and a predicted signal Sj, j representing a sample period;
- a quantizer configured for quantizing the difference signal Ej to obtain a numerical representation Nj for transmission to an encoder inverse quantizer for deriving a regenerated difference signal Dj, and to a decoder inverse quantizer coupled to the quantizer for deriving the regenerated difference signal Dj;
- an adder configured for deriving a reconstructed input signal Xj, the reconstructed input signal Xj being the sum of the regenerated difference signal Dj and the predicted signal Sj;
- a whitening filter configured for receiving the reconstructed input signal Xj and for generating a filtered reconstructed signal Xfj, the filtered reconstructed signal Xfj being generated according to the equation:
- Xfj=Xj−af1Xj−1−af2Xj−2− . . . afnXfj−n
- Xfj−n being a value of filtered reconstructed signal Xfj at sample period j−n, and
- n being a number of filter tap coefficients afn corresponding to the whitening filter;
- a predictor configured for receiving the reconstructed input signal Xj and for generating a predicted signal Sjp, the predicted signal Sjp being at least constituent to predicted signal Sj and being generated according to the equation:
- Sjp=aj1Sj−1−aj2Sj−2− . . . ajnpSn−np
- Sj−np being a value of the predicted signal Sj at sample period j−np, and
- np being a number of predictor coefficients ajnp corresponding to the predictor;
- and
- a feedback loop configured for applying the predicted signal Sj to the adder.
A decoder for decoding digital audio signals encoded by a properly associated encoder, comprising:
- an inverse quantizer coupled to the encoder and configured for receiving a numerical representation Nj and for deriving a regenerated difference signal Dj therefrom, the numerical representation Nj being a quantized representation of a difference signal Ej, the difference signal Ej being the difference between an input signal Yj and a predicted signal Sj, j representing a sample period;
- an adder configured for deriving a reconstructed input signal Xj, the reconstructed input signal Xj being the sum of the regenerated difference signal Dj and the predicted signal Sj;
- a whitening filter configured for receiving the reconstructed input signal Xj and for generating a filtered reconstructed signal Xfj, the filtered reconstructed signal Xfj being generated according to the equation:
- Xfj=Xj−af1Xj−1−af2Xj−2− . . . afnXfn−n
- Xfj−n being a value of filtered reconstructed signal Xfj at sample period j−n, and
- n being a number of filter tap coefficients afn corresponding to the whitening filter;
- a predictor configured for receiving the reconstructed input signal Xj and for generating a predicted signal Sjp, the predicted signal Sjp being at least constituent to predicted signal Sj and being generated according to the equation:
- Sjp=aj1Sj−1−aj2Sj−2 . . . ajnpSj−np
- Sj−np being a value of the predicted signal Sj at sample period j−np, and
- np being a number of predictor coefficients ajnp corresponding to the predictor;
- and
- a feedback loop configured for applying the predicted signal Sj to the adder.
A method for encoding and decoding digital audio signals, comprising the steps of:
- deriving a difference signal Ej at an encoder, the difference signal Ej being the difference between an input signal Yj and a predicted signal Sj, j representing a sample period;
- quantizing the difference signal Ej to obtain a numerical representation Nj for transmitting to an encoder inverse quantizer for deriving a regenerated difference signal Dj, and to a decoder inverse quantizer coupled to the quantizer through a network for deriving the regenerated difference signal Dj;
- deriving a reconstructed input signal Xj at a first adder, the reconstructed input signal Xj being the sum of the regenerated difference signal Dj and the predicted signal Sj;
- receiving the reconstructed input signal Xj at a whitening filter Fe;
- generating a filtered reconstructed signal Xfj by the whitening filter Fe, the filtered reconstructed signal Xfj being generated according to the equation:
- Xfj=Xj−af1Xj−1−af2Xj−2− . . . afnXfj−n
- Xfj−n being a value of filtered reconstructed signal Xfj at sample period j−n, and
- n being a number of filter tap coefficients afn corresponding to the whitening filter Fe;
- receiving the reconstructed input signal Xj at a predictor Pep;
- generating a predicted signal Sjp by the predictor Pep, the predicted signal Sjp being at least constituent to predicted signal Sj and being generated according to the equation:
- Sjp=aj1Sj−1−aj2Sj−2− . . . ajnpSj−np
- Sj−np being a value of the predicted signal Sj at sample period j−np, and
- np being a number of predictor coefficients ajnp corresponding to the predictor Pep;
- applying the predicted signal Sj to the first adder to provide feedback;
- receiving the numerical representation Nj at a decoder;
- deriving the regenerated difference signal Dj from the numerical representation Nj,
- deriving the reconstructed input signal Xj at a second adder, the reconstructed input signal Xj being the sum of the regenerated difference signal Dj and the predicted signal Sj;
- receiving the reconstructed input signal Xj at a whitening filter Fd;
- generating a filtered reconstructed signal Xfj by the whitening filter Fd, the filtered reconstructed signal Xfj being generated according to the equation:
- Xfj=Xj−af1Xj−1−af2Xj−2− . . . afnXfj−n
- Xfj−n being a value of filtered reconstructed signal Xfj at sample period j−n;
- n being a number of filter tap coefficients afn corresponding to the whitening filter Fd;
- receiving the reconstructed input signal Xj at a predictor Pdp;
- generating a predicted signal Sjp by the predictor Pdp, the predicted signal Sjp being at least constituent to predicted signal Sj and being generated according to the equation:
- Sjp=aj1Sj−1−aj2Sj−2− . . . ajnpSj−np
- Sj−np being a value of the predicted signal Sj at sample period j−np, and
- np being a number of predictor coefficients ajnp corresponding to the predictor Pdp;
- and
- applying the predicted signal Sj to the second adder to provide feedback.
A method for adapting coefficients in a two pole predictor in an adaptive differential pulse code modulation system, comprising the steps of:
- generating a filtered reconstructed signal Xfj by a whitening filter Fe, the filtered reconstructed signal Xfj being generated according to the equation:
- Xfj=Xj−af1Xj−1−af2Xj−2− . . . afnXfn−n
- Xfj−n being a value of filtered reconstructed signal Xfj at sample period j−n, and
- n being a number of filter tap coefficients afn corresponding to the whitening filter Fe;
- updating a predictor coefficient a1f according to the equation:
- a1j+1=a1j(1−δ1)+g1·F1(Xjf, Xj−1f, Xj−2f)
- δ1 and g1 being proper positive constants, and
- F1 being a nonlinear function;
- and
- updating a predictor coefficient a2j according to the equation:
- 17 a 2 j + 1 = a 2 J ( 1 - δ 2 ) + g 2 · F 2 ( X j f , X j - 1 f , X j - 2 f , a 1 j )
- δ2 and g2 being proper positive constants, and
- F2 being a nonlinear function.
A machine readable medium embodying instructions executable by a machine to perform a method for adapting coefficients in a two pole predictor in an adaptive differential pulse code modulation system, the method steps comprising:
- generating a filtered reconstructed signal Xfj by a whitening filter, the filtered reconstructed signal Xfj being generated according to the equation:
- Xfj=Xj−af1Xj−1−af2Xj−2− . . . afnXfj−n
- Xfj−n being a value of filtered reconstructed signal Xfj at sample period j−n, and
- n being a number of filter tap coefficients afn corresponding to the whitening filter;
- updating a predictor coefficient a1j according to the equation:
- a1j+1=a1j(1−δ1)+g1·F1(Xjf, Xj−1f, Xj−2f)
- δ1 and g1 being proper positive constants, and
- F1 being a nonlinear function;
- and
- updating a predictor coefficient a2j according to the equation:
- a2j+1=a2j(1−δ2)+g2·F2(Xjf, Xj−1f, Xj−2f, a1j)
- δ2 and g2 being proper positive constants, and
- F2 being a nonlinear function.
A digital circuit embodying instructions to perform a method for adapting coefficients in a two pole predictor in an adaptive differential pulse code modulation system, the method steps comprising:
- generating a filtered reconstructed signal Xfj by a whitening filter, the filtered reconstructed signal Xfj being generated according to the equation:
- Xfj=Xj−af1Xj−1−af2Xj−2− . . . afnXfj−n
- Xfj−n being a value of filtered reconstructed signal Xfj at sample period i−n, and
- n being a number of filter tap coefficients afn corresponding to the whitening filter;
- updating a predictor coefficient a1j according to the equation:
- a1j+1=a1j(1−δ1)+g1·F1(Xjf, Xj−1f, Xj−2f)
- δ1 and g1 being proper positive constants, and
- F1 being a nonlinear function;
- and
- updating a predictor coefficient a2j according to the equation:
- a2j+1=a2j(1−δ2)+g2·F2(Xjf, Xj−1f, Xj−2f, a1j)
- δ2 and g2 being proper positive constants, and
- F2 being a nonlinear function.
An adaptive differential pulse code modulation system comprising:
- at a first instance:
- means for deriving a difference signal Ej, the difference signal Ej being the difference between an input signal Yj and a predicted signal Sj, j representing a sample period;
- means for quantizing the difference signal Ej to obtain a numerical representation Nj;
- means for deriving a regenerated difference signal Dj based on the numerical representation Nj;
- means for transmitting the numerical representation Nj to an inverse quantizing means coupled to the quantizing means through a network;
- means for deriving a reconstructed input signal Xj, the reconstructed input signal Xj being the sum of the regenerated difference signal Dj and the predicted signal Sj;
- means for generating a filtered reconstructed signal Xfj, the filtered reconstructed signal Xfj being generated according to the equation:
- Xfj=Xj−af1Xj−1−af2Xj−2− . . . afnXfj−n
- Xfj−n being a value of filtered reconstructed signal Xfj at sample period j−n, and
- n being a number of coefficients afn corresponding to the means for generating a filtered reconstructed signal;
- means for generating a predicted signal Sjp, the predicted signal Sjp being at least constituent to predicted signal Sj and being generated according to the equation:
- Sjp=aj1Sj−1−aj2Sj−2− . . . ajnpSj−np
- Sj−np being a value of the predicted signal Sj at sample period j−np, and
- np being a number of predictor coefficients ajnp corresponding to the means for generating a predicted signal;
- and
- feedback means for applying the predicted signal Sj to the means for deriving a reconstructed input signal Xj;
- at a second instance:
- the inverse quantizing means for deriving the regenerated difference signal Dj from the numerical representation Nj;
- second means for deriving a reconstructed input signal Xj, the reconstructed input signal Xj being the sum of the regenerated difference signal Dj and the predicted signal Sj;
- second means for generating a filtered reconstructed signal Xfj, the filtered reconstructed signal Xfj being generated according to the equation:
- Xfj=Xj−af1Xj−1−af2Xj−2− . . . afnXfj−n
- Xfj−n being a value of filtered reconstructed signal Xfj at sample period j−n, and
- n being a number of coefficients afn corresponding to the second means for generating a filtered reconstructed signal;
- second means for generating a predicted signal Sjp, the predicted signal Sjp being at least constituent to predicted signal Sj and being generated according to the equation:
- Sjp=aj1Sj−1−aj2Sj−2− . . . ajnpSj−np
- Sj−np being a value of the predicted signal Sj at sample period j−np, and
- np being a number of coefficients ajnp corresponding to the means for generating a predicted signal;
- and
- feedback means for applying the predicted signal Sj to the means for deriving a reconstructed input signal Xj.
Dependencies are inferred from the claim text.