Audio encoder and decoder and methods for encoding and decoding an audio signal
AssigneeTelefonaktiebolaget L M Ericsson (publ)
InventorsErik Norvell, Stefan Bruhn, Harald Pobloth
Life of this patent
Estimating the term…
Abstract
The present invention relates to a frequency domain based method of encoding and decoding an audio signal, wherein an adaptive spectral code book is updated with synthesized frequency domain representations of a time domain signal segment. A frequency analysis is performed of a received time domain signal segment in order to obtain a frequency domain representation, and the adaptive spectral code book is searched for a first approximation of the frequency domain representation. A fixed spectral code book is searched for an approximation of the residual frequency representation. A synthesized frequency domain representation may be generated from the two approximations.
Claims48
A method of encoding an audio signal, the method comprising:
- receiving, in an audio encoder, a time domain signal segment originating from the audio signal;
- performing, in the audio encoder, a frequency analysis of the time domain signal segment so as to obtain a frequency domain representation of the signal segment;
- searching an adaptive spectral code book of the audio encoder for an adaptive spectral code book vector which provides a first approximation of the frequency domain representation, the adaptive spectral code book comprising a plurality of adaptive spectral code book vectors;
- selecting the adaptive spectral code book vector providing a first approximation;
- generating a residual frequency representation from a difference between the frequency domain representation and the selected adaptive spectral code book vector;
- searching a fixed spectral code book of the audio encoder for a fixed spectral code book vector which provides an approximation of the residual frequency representation, the fixed spectral code book comprising a plurality of fixed spectral code book vectors;
- selecting the fixed spectral code book vector providing an approximation of the residual frequency representation;
- updating the adaptive spectral code book of the audio encoder by including a vector obtained as a linear combination of the selected fixed spectral code book vector and the selected adaptive spectral code book vector;
- and
- generating, in the audio encoder, a signal representation of the received time domain signal segment, the signal representation being indicative of an index referring to the selected adaptive spectral code book vector and an index referring to the selected fixed spectral code book vector, the signal representation to be conveyed to a decoder.
A method of decoding an audio signal that has been encoded, the method comprising:
- receiving, in an audio decoder, a signal representing a time domain signal segment of the audio signal, the representation being indicative of an adaptive spectral code book index and a fixed spectral code book index;
- identifying, in an adaptive spectral code book of the audio decoder, an adaptive spectral code book vector to which the adaptive spectral code book index refers, the adaptive spectral code book comprising a plurality of adaptive spectral code book vectors;
- identifying, in a fixed spectral code book of the audio decoder, a fixed spectral code book vector to which the fixed spectral code book index refers, the fixed spectral code book comprising a plurality of fixed spectral code book vectors;
- generating, in the audio decoder, a synthesized frequency domain representation of the signal segment from a linear combination of the identified fixed spectral code book vector and the identified adaptive spectral code book vector;
- generating, in the audio decoder, a synthesized time domain signal segment using the synthesized frequency domain representation;
- updating the adaptive spectral code book by including a vector corresponding to a linear combination of the identified adaptive spectral code book vector and the identified fixed spectral code book vector linear combination.
An audio encoder for encoding of an audio signal, the encoder comprising:
- an input configured to receive a time domain signal segment originating from an audio signal;
- an adaptive spectral code book configured to store and update a plurality of adaptive spectral code book vectors;
- a fixed spectral code book configured to store a plurality of fixed spectral code book vectors;
- a processor connected to the input, the adaptive spectral code book, the fixed spectral code book, and to an output, the processor being configured to:
- perform a frequency analysis of a time domain signal segment received at the input in order to arrive at a frequency domain representation of the signal segment;
- search the adaptive spectral code book for an adaptive spectral code book vector which can provide a first approximation of a frequency domain representation;
- and
- select the adaptive spectral code book vector which can provide the first approximation;
- generate a residual frequency representation from a difference between the frequency domain representation and a corresponding selected adaptive spectral code book vector;
- search the fixed spectral code book to identify a fixed spectral code book vector which provides an approximation of the residual frequency representation;
- generate a synthesized frequency domain representation from a linear combination of an identified fixed spectral code book vector and an identified adaptive spectral code book vector;
- update the adaptive spectral code book by storing, a vector corresponding to the linear combination in the adaptive spectral code book;
- and
- generate an signal representation of a received time domain signal segment, the signal representation being indicative of an adaptive spectral code book index referring to an identified adaptive spectral code book vector and a fixed spectral code book index referring to an identified fixed spectral code book vector, the signal representation to be conveyed to a decoder;
- wherein the output is configured to deliver the signal representation generated by the processor.
An audio decoder for synthesis of an audio signal from a signal representing an encoded audio signal, the decoder comprising:
- an input configured to receive a signal representation of a time domain signal segment, the signal including an adaptive spectral code book index and a fixed spectral code book index;
- an adaptive spectral code book configured to store a plurality of adaptive spectral code book vectors;
- a fixed spectral code book configured to store a plurality of fixed spectral code book vectors;
- a processor connected to the input, the adaptive spectral code book, the fixed spectral code book, and to an output, the processor configured to:
- identify an adaptive spectral code book vector in the adaptive spectral code book using a received adaptive spectral code book index;
- identify a fixed spectral code book vector in the fixed spectral code book using a received fixed spectral code book index;
- generate a synthesized frequency domain representation from a linear combination of an identified adaptive spectral code book vector and an identified fixed spectral code book vector;
- generate a synthesized time domain signal segment using the synthesized frequency domain representation;
- and
- update the adaptive spectral code book by storing, in the adaptive spectral code book, a vector corresponding to the linear combination;
- wherein the output is configured to deliver the synthesized time domain signal segment generated by the processor.
A user equipment for communication in a mobile radio communications system, the user equipment comprising an audio encoder comprising:
- an input configured to receive a time domain signal segment originating from an audio signal;
- an adaptive spectral code book configured to store and update a plurality of adaptive spectral code book vectors;
- a fixed spectral code book configured to store a plurality of fixed spectral code book vectors;
- a processor connected to the input, the adaptive spectral code book, the fixed spectral code book, and to an output, the processor being configured to:
- perform a frequency analysis of a time domain signal segment received at the input in order to arrive at a frequency domain representation of the signal segment;
- search the adaptive spectral code book for an adaptive spectral code book vector which can provide a first approximation of a frequency domain representation;
- and
- select the adaptive spectral code book vector which can provide the first approximation;
- generate a residual frequency representation from a difference between the frequency domain representation and a corresponding selected adaptive spectral code book vector;
- search the fixed spectral code book to identify a fixed spectral code book vector which provides an approximation of the residual frequency representation;
- generate a synthesized frequency domain representation from a linear combination of an identified fixed spectral code book vector and an identified adaptive spectral code book vector;
- update the adaptive spectral code book by storing, a vector corresponding to the linear combination in the adaptive spectral code book;
- and
- generate an signal representation of a received time domain signal segment, the signal representation being indicative of an adaptive spectral code book index referring to an identified adaptive spectral code book vector and a fixed spectral code book index referring to an identified fixed spectral code book vector, the signal representation to be conveyed to a decoder;
- wherein the output is configured to deliver the signal representation generated by the processor.
A user equipment for communication in a mobile radio communications system, the user equipment comprising an audio decoder comprising:
- an input configured to receive a signal representation of a time domain signal segment, the signal including an adaptive spectral code book index and a fixed spectral code book index;
- an adaptive spectral code book configured to store a plurality of adaptive spectral code book vectors;
- a fixed spectral code book configured to store a plurality of fixed spectral code book vectors;
- a processor connected to the input, the adaptive spectral code book, the fixed spectral code book, and to an output, the processor configured to:
- identify an adaptive spectral code book vector in the adaptive spectral code book using a received adaptive spectral code book index;
- identify a fixed spectral code book vector in the fixed spectral code book using a received fixed spectral code book index;
- generate a synthesized frequency domain representation from a linear combination of an identified adaptive spectral code book vector and an identified fixed spectral code book vector;
- generate a synthesized time domain signal segment using the synthesized frequency domain representation;
- and
- update the adaptive spectral code book by storing, in the adaptive spectral code book, a vector corresponding to the linear combination;
- wherein the output is configured to deliver the synthesized time domain signal segment generated by the processor.
A computer program product stored in a non-transitory computer readable medium for encoding an audio signal, the computer program product comprising software instructions which, when run on a processor of an encoder, causes the encoder to:
- perform a frequency analysis of a time domain signal segment in order to arrive at a frequency domain representation of the signal segment;
- search an adaptive spectral code book for an adaptive spectral code book vector which can provide a first approximation of the frequency domain representation, and to select the adaptive spectral code book vector which can provide the first approximation;
- generate a residual frequency representation from a difference between the frequency domain representation and the selected adaptive spectral code book vector;
- search the fixed spectral code book to identify a fixed spectral code book vector which provides an approximation of a residual frequency representation;
- update the adaptive spectral code book by including a vector obtained as a linear combination of the selected fixed spectral code book vector and the selected adaptive spectral code book vector;
- and
- generate a signal representation of the time domain signal segment, the signal representation being indicative of an index referring to the identified adaptive spectral code book vector and an index referring to the identified fixed spectral code book vector, the signal representation to be conveyed to a decoder.
A computer program product stored in a non-transitory computer readable medium for decoding an audio signal, the computer program product comprising software instructions which, when run on a processor of an decoder, causes the decoder to:
- retrieve, from a received signal representation representing a time domain signal segment of the audio signal, an adaptive spectral code book index and a fixed spectral code book index;
- identify, based on the retrieved adaptive spectral code book, index an adaptive spectral code book vector in an adaptive spectral code book;
- identify, based on the retrieved fixed spectral code book index, a fixed spectral code book vector in a fixed spectral code book;
- generate a synthesized frequency domain representation of the signal segment from a linear combination of the identified adaptive spectral code book vector and the identified fixed spectral code book vector;
- generate a synthesized time domain signal segment using the synthesized frequency domain representation;
- and
- update the adaptive spectral code book by including a vector corresponding to a linear combination of the identified adaptive spectral code book vector and the identified fixed spectral code book vector.
Dependencies are inferred from the claim text.