Patent EA-001087-B1 (EA)
Title: Multi-channel predictive subband coder using psychoacoustic adaptive bit allocation
Inventor: SMYTH STEPHEN M
IPC: G10L/
Filed: 1996-11-21
Abstract: 1. A multi-channel audio encoder, comprising: a frame grabber (64) that applies an audio window to each channel of a multi-channel audio signal sampled at a sampling rate to produce respective sequences of audio frames ; a plurality of filters (34)that split the channels' audio frames into respective pluralities of frequency subbands over a baseband frequency range, said frequency subbands each comprising a sequence of subband frames that have at least one subframe of audio data per subband frame ; a plurality of subband encoders (26) that code the audio data in the respective frequency subbands a subframe at a time into encoded subband signals; a multiplexer (32) that packs and multiplexes the encoded subband signals into an output frame for each successive data frame thereby forming a data stream at a transmission rate; and a controller (19) that sets the size of the audio window based on the sampling rate and transmission rate so that the size of said output frames is constrained to lie in a desired range. 2. The multi-channel audio encoder of claim 1, wherein the controller sets the audio window size as the largest multiple of two that is less than   where Frame Size is the maximum size of the output frame, Fsamp is the sampling rate, and Trate is the transmission rate. 3. The multi-channel audio encoder of claim 1, wherein the multi-channel audio signal is encoded at a target bit rate and the subband encoders comprise predictive coders, further comprising: a global bit manager (GBM) (30) that computes a psychoacoustic signal-to-mask ratio (SMR) and an estimated prediction gain (Pgain) for each subframe, computes mask-to-noise ratios (MNRs) by reducing the SMRs by respective fractions of their associated prediction gains, allocates bits to satisfy each MNR, computes the allocated bit rate over all subbands, and adjusts the individual allocations such that the actual bit rate approximates the target bit rate. 4. The multi-channel audio encoder of claims 1 or 3, wherein the subband encoder splits each subframe into a plurality of sub-subframes, each subband encoder comprising a predictive coder (72) that generates and quantizes an error signal for each subframe, further comprising: an analyzer (98,100,102,104,106) that generates an estimated error signal prior to coding for each subframe, detects transients in each sub-subframe of the estimated error signal, generates a transient code that indicates whether there is a transient in any sub-subframe other than the first and in which sub-subframe the transient occurs, and when a transient is detected generates a pre-transient scale factor for those sub-subframes before the transient and a post-transient scale factor for those sub-subframes including and after the transient and otherwise generates a uniform scale factor for the subframe, said predictive coder using said pre-transient, post-transient and uniform scale factors to scale the error signal prior to coding to reduce coding error in the sub-sub frames corresponding to the pre-transient scale factors. 5. The multi-channel audio encoder of claim 1, wherein said baseband frequency range has a maximum frequency, further comprising: a prefilter (46) that splits each of said audio frames into a baseband signal and a high sampling rate signal at frequencies in the baseband frequency range and above the maximum frequency, respectively, said GBM allocating bits to the high sampling rate signal to satisfy the selected fixed distortion; and a high sampling rate encoder (48,50,52) that encodes the audio channels' high sampling rate signals into respective encoded high sampling rate signals, said multiplexer packing the channels' encoded high sampling rate signals into the respective output frames so that the baseband and high sampling rate portions of the multi-channel audio signal are independently decodable. 6. A multi-channel audio decoder for reconstructing multiple audio channels up to a decoder sampling rate from a data stream, in which each audio channel was sampled at an encoder sampling rate that is at least as high as the decoder sampling rate, subdivided into a plurality of frequency subbands, compressed and multiplexed into the data stream at a transmission rate, comprising: an input buffer (324) for reading in and storing the data stream a frame at a time, each of said frames including a sync word, a frame header, an audio header, and at. least one subframe, which includes audio side information, a plurality of sub-subframes having baseband audio codes over a baseband frequency range, a block of high sampling rate audio codes over a high sampling rate frequency range, and an unpack sync; a demultiplexer (40) that a) detects the sync word, b) unpacks the frame header to extract a window size that indicates a number of audio samples in the frame and a frame size that indicates a number of bytes in the frame, said window size being set as a function of the ratio of the transmission rate to the encoder sampling rate so that the frame size is constrained to be less than the size of the input buffer, c) unpacks the audio header to extract the number of subframes in the frame and the number of encoded audio channels, and d) sequentially unpacks each subframe to extract the audio side information, demultiplex the baseband audio codes in each sub-subframe into the multiple audio channels and unpack each audio channel into its subband audio codes, demultiplex the high sampling rate audio codes into the multiple audio channels up to the decoder sampling rate and skip the remaining high sampling rate audio codes up to the encoder sampling rate, and detects the unpack sync to verify the end of the subframe; a baseband decoder (42,44) that uses the side information to decode the subband audio codes into reconstructed subband signals a subframe at a time without reference to any other subframes; a baseband reconstruction filter (44) that combines each channel's reconstructed subband signals into a reconstructed baseband signal a subframe at a time; a high sampling rate decoder (58,60) that uses the side information to decode the high sampling rate audio codes into a reconstructed high sampling rate signal for each audio channel a subframe at a time; and a channel reconstruction filter (62) that combines the reconstructed baseband and high sampling rate signals into a reconstructed multi-channel audio signal a subframe at a time. 7. The multi-channel audio decoder of claim 6, wherein the baseband reconstruction filter (44) comprises a non-perfect reconstruction (NPR) filterbank and a perfect reconstruction (PR) filterbank, and said frame header includes a filter code that selects one of said NPR and PR filterbanks of non-perfect and perfect reconstruction. 8. The multi-channel audio decoder of claim 6, wherein the baseband decoder comprises a plurality of inverse adaptive differential pulse code modulation (ADPCM) coders (268,270) for decoding the respective subband audio codes, said side information including prediction coefficients for the respective ADPCM coders and a prediction mode (PMODE) for controlling the application of the prediction coefficients to the respective ADPCM coders to selectively enable and disable their prediction capabilities. 9. The multi-channel audio decoder of claim 17, wherein said side information comprises: a bit allocation table for each channel's subbands, in which each subband's bit rate is fixed over the subframe; at least one scale factor for each subband in eachchannel; and a transient mode (TMODE) for each subband in each channel that identifies the number of scale factors and their associated sub-subframes, said baseband decoder scaling the subbands' audio codes by the respective scale factors in accordance with their TMODEs to facilitate decoding. 10. A portable information carrier readable by a computer comprising stream of digital data which is a multi-channel audio signal sampled at a sampling rate, encoded respective to the baseband frequency range, subdivided into a plurality of frequency subbands into respective frequency range of high sampling rate and recorded on said information carrier readable by a computer as a sequence of audio frame at a transmission rate, wherein each of said audio frame comprises successively a sync word, a frame header, which comprises the size of the window and indicates a number of audio samples in the frame and a frame size that indicates a number of bytes in the frame, said window size being set as a function of the ratio of the transmission rate to the encoder sampling rate so that the frame size is constrained to be less than the maximum size, an audio header which indicates the packing device and a coding format for the audio frame, at least one audio subframe, wherein each audio subframe comprises: side information for decoding audio subframe without reference to other subframes, a plurality of audio subframes of the baseband frequency range, in which the audio data for each frequency subband of a channel is packed and multiplexed with other channels, an audio frame of a high sampling rate, in which audio data in a frequency band of the high sampling rate for each channel is packed and multiplexed with other channels so that a multi-channel audio signal is decodable with a plurality of decoding sampling rates, and  sync of unpacking to verify the end of the subframe.