Fast synthesis sub-band filtering method for digital signal decoding
AssigneeSTMicroelectronics Asia Pacific Pte Ltd
InventorsSapna George, Haiyun Yang
Life of this patent
Estimating the term…
Abstract
In order to reproduce audio signals which have been compressed or encoded for storage or transmission using, for example, MPEG audio encoding, a synthesis sub-band filter is employed which performs an inverse modified discrete cosine transform. The computational cost of the IMDCT implementation is reduced by pre-calculating arrays of sum and difference data. The arrays of sum and difference data are then used in two separate transform calculations, the results of which can be used in the generation of pulse code modulation audio data.
Claims19
A method of decoding electronically stored digital audio data, comprising:
- retrieving with a first electronic circuit an input sequence of data elements representing encoded audio samples;
- pre-processing the input sequence of data elements with a second electronic circuit to produce an array of sum data and an array of difference data using selected data elements from the input sequence;
- producing with the second electronic circuit a first sequence of output values using the array of sum data;
- producing with the second electronic circuit a second sequence of output values using the array of difference data;
- and
- forming with the second electronic circuit a sequence of decoded audio signals from the first and second sequences of output values by producing interim sequences of decoded signals from the first and second sequences of output values and overlapping and adding successive ones of the interim sequences of decoded signals to form the sequence of decoded audio signals, the sequence of decoded audio signals having a different number of elements than the input sequence of data elements.
A method to reduce power during decode of digital audio data, comprising
- unpacking a stored sequence of N samples of digital audio data;
- storing a sum array of N/2 samples of digital audio data, forming the sum array by a plurality of addition operations of different first and second samples from the sequence of N samples of digital audio data such that each entry of the sequence of N samples of digital audio data has been used once;
- storing a difference array of N/2 samples of digital audio data, forming the difference array by a plurality of subtraction operations of different first and second samples corresponding to the different first and second samples used to form the sum array;
- transformationally calculating a first sequence of decoded values using the sum array of N/2 samples of digital audio data;
- transformationally calculating a second sequence of decoded values using the difference array of N/2 samples of digital audio data;
- and
- storing a third sequence of output values, the third sequence formed by alternately drawing successive samples from the first sequence of decoded values and the second sequence of decoded values and overlapping and adding the successive ones of the samples, wherein the number of output values in the third sequence is not N.
A non-transitory computer readable media storing instructions that are executable by an audio decoder circuit to cause an electronic chipset to:
- obtain an input sequence of N encoded audio samples;
- divide the input sequence into two equal segments;
- preprocess the input sequence of N encoded audio samples to produce an array of sum data and an array of difference data using selected data elements from the two segments;
- produce a first sequence of output values using the array of sum data;
- produce a second sequence of output values using the array of difference data;
- and
- form a sequence of M decoded audio signals by interleaving the first and second sequences of output values and overlapping and adding successive ones of the interleaved sequences of output values, wherein M is not equal to N.
A low power digital audio decoder, comprising:
- a bitstream unpacking and decoding circuit configured to retrieve and unpack a sequence of N samples of digital audio data;
- a reconstruction circuit configured to store a sum array of N/2 samples of digital audio data, the sum array formed by a plurality of addition operations of different first and second samples from the sequence of N samples of digital audio data such that each entry of the sequence of N samples of digital audio data has been used once, the reconstruction circuit further configured to store a difference array of N/2 samples of digital audio data, the difference array formed by a plurality of subtraction operations of different first and second samples corresponding to the different first and second samples used to form the sum array;
- and
- an inverse mapping circuit configured to transformationally calculate a first sequence of decoded values using the sum array of N/2 samples of digital audio data and transformationally calculate a second sequence of decoded values using the difference array of N/2 samples of digital audio data;
- and
- an output configured to accept a plurality of third sequences of M output values, each of the plurality of third sequences formed by alternately drawing successive samples from the first sequence of decoded values and the second sequence of decoded values and overlapping and adding successive ones of the plurality of third sequences, wherein M is N/2.
Dependencies are inferred from the claim text.