HYBRID ADAPTIVE ALLOCATION FOR AUDIO ENCODER AND DECODER

Abstract: The invention relates in general to low bit-rate encoding and decoding of information such as audio information. More particularly, the invention relates to adaptive bit allocation and quantization of encoded information useful in high-quality low bit-rate coding systems. In an encoder, a hybrid of forward-adaptive and backward-adaptive allocation is used to adaptively quantize information and to prepare an encoded signal which requires minimal side information to convey explicit allocation information to a companion decoder. In a decoder, a hybrid allocation technique is used to obtain allocation information required to dequantize information from a received encoded signal.

Description: DESCRIPTION HYBRID ADAPTIVE ALLOCATION FOR AUDIO ENCODER AND DECODER Technical Field The invention relates in general to low bit-rate encoding and decoding of information such as audio information. More particularly, the invention relates to adaptive bit allocation and quantization of encoded information useful in high-quality low bit-rate coding systems. Background There is considerable interest among those in the fields of audio- and video-signal processing to minimize the amount of information required to represent a signal without perceptible loss in signal quality. By reducing information requirements, signals impose lower information capacity requirements upon communication channels and storage media. Digital signals comprising signal samples encoded with fewer binary bits impose lower transmission information capacity requirements than digital signals encoded using a greater number of bits to represent the signal. Of course, there are limits to the amount of reduction which can be realized without degrading the perceived signal quality. The number of bits available for representing each signal sample establishes the accuracy of the signal representation by the encoded signal samples. Lower bit rates mean that fewer bits are available -to represent each sample; therefore, lower bit rates imply greater quantizing inaccuracies or quantizing errors. In many applications, quantizing errors are manifested as quantizing noise, and if the errors are of sufficient magnitude, the quantizing noise will degrade the subjective quality of the coded signal. Various "split-band" coding techniques attempt to reduce information requirements without any perceptible degradation by exploiting various psycho-perceptual effects. In audio applications, for example, the human auditory system displays frequency-analysis properties resembling those of highly asymmetrical tuned filters having variable center frequencies and bandwidths that vary as a function of the center frequency. The ability of the human auditory system to detect distinct tones generally increases as the difference in frequency between the tones increases; however, the resolving ability of the human auditory system remains substantially constant for frequency differences less than the bandwidth of the above mentioned filters. Thus, the frequency-resolving ability of the human auditory system varies according to the bandwidth of these filters throughout the audio spectrum. The effective bandwidth of such an auditory filter is referred to as a "critical band." A dominant signal within a critical band is more likely to mask the audibility of other signals anywhere within that critical band than it is likely to mask other signals at frequencies outside that critical band. See generally, the Audio Engineering Handbook. K. Blair Benson ed., McGraw-Hill, San Francisco, 1988, pages 1.40-1.42 and 4.8-4.10. Audio split-band coding techniques which divide the useful signal bandwidth into frequency bands with bandwidths approximating the critical bands of the human auditory system can better exploit psychoacoustic effects than wider band techniques. Such digital split-band coding techniques comprise dividing the signal bandwidth with a filter bank, quantizing the signal passed by each filter band using just enough bits to render quantizing noise inaudible, and reconstructing a replica of the original signal with an inverse filter bank. Two such techniques are subband coding and transform coding. Subband and transform coders can reduce transmitted information in particular frequency bands where the resulting quantizing noise is psychoacoustically masked by neighboring spectral components without degrading the subjective quality of the encoded signal. Subband coders may use any of various digital techniques to implement a filter bank with digital filters. In such coders, an input signal comprising signal samples is passed through a bank of digital filters and each "subband signal" passed by a respective filter in the filter bank is downsampled according to the bandwidth of that subband 's filter. Each subband signal comprises samples which represent a portion of the input signal spectrum. Digital transform coders may use any of various so-called time-domain to frequency-domain transforms to implement a bank of digital filters. An input signal comprising signal samples is segmented into "signal sample blocks" prior to filtering. Individual coefficients obtained from the transform, or two or more adjacent coefficients grouped together, define "subbands" having effective bandwidths which are sums of individual transform coefficient bandwidths. Throughout the following discussion, the term "split-band coder" shall refer to subband coders, transform coders, and other split-band coding techniques which operate upon portions of the useful signal bandwidth. The term "subband" shall refer to these portions of the useful signal bandwidth, whether implemented by a true subband coder, a transform coder, or other technique. The term "subband information" shall refer to the split-band filtered representation of the spectral energy across the useful signal bandwidth. The term "subband information block" shall refer to the subband information for a given interval or block of time. For subband coders implemented by a digital filter bank, a subband information block comprises the set of samples for all subband signals over a given time interval. For transform coders, a subband information block comprises the set of all transform coefficients corresponding to a signal sample block. As discussed above, many split-band coders utilizing psychoacoustic principles provide high-quality coding at low bit rates by applying a filter bank to an input signal to generate subband information, quantizing each element of subband information using a number of bits allocated to that element such that resulting quantizing noise is inaudible due to psychoacoustic masking effects, and assembling the quantized information into a form suitable for transmission or storage. A complementary split-band decoder recovers a replica of the original input signal by extracting quantized information from an encoded signal, dequantizing the quantized information to obtain subband information, and applying an inverse filter bank to the subband information to generate the replica of the original input signal. The number of bits allocated to quantize each element of subband information must be available to the decoder to permit accurate dequantization of the subband information. A "forward-adaptive" encoder passes explicit allocation information or "side information" to a decoder. A "backward-adaptive" encoder passes implicit rather than explicit allocation information, allowing a decoder to determine allocation information from the encoded signal itself. In one embodiment, a backward-adaptive audio encoder prepares an estimate of the input signal spectral envelope, establishes allocation information by applying an allocation function to the envelope estimate, scales audio information using elements of the envelope estimate as scale factors, quantizes the scaled audio information according to the established allocation information, and assembles the quantized information and the envelope estimate into an encoded signal. A backward-adaptive decoder extracts the envelope estimate and quantized information from the encoded signal, establishes allocation information by applying to the envelope estimate the same allocation function as that used by the encoder, dequantizes the quantized information, and reverses the scaling of the audio information. Scaling is used to increase the dynamic range of information which can be represented by the limited number of bits available for quantizing. Two examples of a backward-adaptive encoder/decoder system are disclosed in U.S. patents 4,790,016 and 5,109,417. On the one hand, backward-adaptive techniques are attractive in many low bit-rate coding systems because no bits are required to pass side information. The decoder employs an allocation function to recreate the allocation information. On the other hand, forward-adaptive techniques are attractive in many high-quality coding systems because the decoder does not need to perform an allocation function to establish allocation information. As a result, a forward-adaptive decoder may be computationally less complex and need not impose any restrictions upon the allocation function performed by the encoder. In backward-adaptive systems, the encoder must use an allocation function which is identical, or at least exactly equivalent, to that utilized by the decoder, otherwise accurate dequantization in the decoder is not guaranteed. Encoders in forward-adaptive coding systems, therefore, may incorporate improved allocation functions with little concern for maintaining compatibility with existing decoders. In backward-adaptive systems, any restriction upon decoder complexity usually imposes restrictions upon the complexity of the allocation function in both the encoder and decoder, thereby limiting overall performance of the encoder/decoder system. Forward- adaptive systems can avoid this limitation, however, because no allocation function is required in a decoder. The allocation function used in an encoder can be the result of an independent design choice. The ability to upgrade the allocation function in an encoder is significant. As the cost of digital computation decreases due to technical advances, increasingly sophisticated allocation functions become economically practical. By increasing the sophistication of allocation functions, bit rates may be decreased for a given signal quality, or signal quality may be increased for a given bit rate. Despite this advantage, however, forward-adaptive coding systems may be unsuitable in many low bit-rate applications because they require a significant number of bits to convey side information. Generally, even more bits are required to convey side information as allocation functions seek to improve coding performance by dividing the spectrum into narrower, and therefore more numerous, bands. Furthermore, the number of bits required to carry this side information will represent a larger proportion of the coded signal as improved coding techniques decrease the number of bits required to carry the remainder of the coded signal. Disclosure of Invention It is an object of the present invention to provide for a low bit-rate high-quality encoding/decoding system in which the allocation function in an encoder may be changed without losing compatibility with existing decoders, yet which requires a minimal proportion of the encoded signal to carry explicit allocation information. According to the teachings of the present invention in a first embodiment of an encoder, a filter bank splits an input signal into a plurality of subbands to generate subband information, and a converter generates a representation of the subband information comprising X words and Y words. In response to the X words, an allocation function obtains a set of basic allocation values in which a respective value is associated with one or more Y words. An adaptor may modify some or all of the basic allocation values in response to characteristics detected in the audio information, the subband information, and/or the X words. A quantizer quantizes each Y word into quantized information using a number of bits equal to either the associated basic allocation value or the corresponding modified value, if one exists. A formatter assembles the X words, quantized information, and side information comprising an indication of the modified allocation values into a format suitable for transmission or storage. In a second embodiment, in response to characteristics detected in either the input signal, the subband information, and/or the X words, an adaptor modifies parameters which affect the results of the allocation function. In this embodiment, the basic allocation values are not subject to further modification. Side information comprising an indication of the modified parameters is assembled into the formatted output. Further embodiments of an encoder according to the teachings of the present invention are possible, including, but not limited to, an embodiment which incorporates a combination of the two embodiments described above. For example, an adaptor may modify parameters affecting the allocation function as described in the second embodiment, and may further modify the resulting basic allocation values in response to characteristics detected in the input signal, the subband information, and/or the X words. According to the teachings of the present invention in a first embodiment of a decoder, a deformatter disassembles an encoded signal into X words, quantized words, and side information comprising an indication of modified allocation values used to quantize the quantized words. In response to the X words, an allocation function obtains a set of basic allocation values in which a respective value is associated with one or more quantized words. Some or all of the basic allocation values may be modified by the modified values obtained from the disassembled signal. A dequantizer dequantizes the quantized words into Ϋ words using a number of bits equal to either the associated basic allocation value or the corresponding modified value, if one exists. An inverse converter generates subband information in response to the X words and Ϋ words, and in response to the subband information an inverse filter obtains an output signal which is a replica of the input signal represented by the encoded signal. In a second embodiment, modified parameters affecting the results of the allocation function are obtained from the disassembled signal. In this embodiment, the basic allocation values are not subject to further modification. Further embodiments of a decoder according to the teachings of the invention are possible, including, but not limited to, an embodiment which incorporates a combination of the two embodiments described above. For example, modified parameters affecting the results of the allocation function and modified values to modify respective basic allocation values are both obtained from the disassembled signal as described in the second and first embodiments, respectively. No particular allocation function is critical to the practice of the present invention. For example, single- and multiple-channel encoder/decoder systems incorporating the present invention may utilize allocation functions such as those described in U.S. patents 5,109,417 and 5,222,189, incorporated herein by reference in their entirety. Another allocation function suitable for single-channel systems is disclosed in U.S. patent 4,790,016, incorporated herein by reference in its entirety. Multi-channel systems may also utilize allocation functions as disclosed in International Publication No. WO 92/12607, incorporated herein by reference in its entirety. In a coding system incorporating the present invention, side information need only convey the modified allocation values and/or parameters. A basic allocation function known to both the encoder and the decoder provides basic allocation information to the decoder. Side information provides for adjustments to the basic allocation information as necessary to obtain the same allocation information used in the encoder. In this way, the allocation function in an encoder may be upgraded without losing compatibility with existing decoders, and the number of bits required for side information to maintain compatibility between encoder and decoder is minimized. The present invention may be used in split-band coders implemented by any of several techniques. A preferred implementation of a transform coding system uses the Time Domain Aliasing Cancellation (TDAC) transform disclosed in Princen and Bradley, "Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation," IEEE Trans, on Acoust.. Speech. Signal Proc.. vol. ASSP-34, 1986, pp. 1153-1161. An example of a transform encoder/decoder system utilizing a TDAC transform is described in U.S. patent 5,109,417, referred to above. It should be understood that although the use of subbands with bandwidths commensurate with human auditory system critical bandwidths allows greater exploitation of psychoacoustic effects, application of the teachings of the present invention are not so limited. Therefore, the term "subband" and the like as used herein should be construed as one or more frequency bands within the useful bandwidth of an input signal. The various features of the present invention and its preferred embodiments may be better understood by referring to the following discussion and the accompanying drawings in which like reference numerals refer to like elements in the several figures. The contents of the following discussion and the drawings are set forth as examples only and should not be understood to represent limitations upon the scope of the present invention. Brief Description of Drawings Figure 1 is a block diagram illustrating one embodiment of an encoder in an encoder/decoder system incorporating forward-adaptive allocation. Figure 2 is a block diagram illustrating one embodiment of a decoder in an encoder/decoder system incorporating forward-adaptive allocation. Figure 3 is a block diagram illustrating another embodiment of an encoder in an encoder/decoder system incorporating forward-adaptive allocation. Figure 4 is a block diagram illustrating one embodiment of an encoder in an encoder/decoder system incorporating backward-adaptive allocation. Figure 5 is a block diagram illustrating one embodiment of a decoder in an encoder/decoder system incorporating backward-adaptive allocation. Figure 6 is a block diagram illustrating one embodiment of an encoder in an encoder/decoder system incorporating hybrid-adaptive allocation. Figure 7 is a block diagram illustrating one embodiment of a decoder in an encoder/decoder system incorporating hybrid-adaptive allocation. Modes for Carrying Out the Invention Forward-Adaptive Allocation Figure 1 illustrates the basic structure of one embodiment of a split-band encoder used in an encoder/decoder system incorporating forward-adaptive allocation. Filterbank 102 generates subband information in response to an input signal received from path 100. Allocation function 110 establishes allocation information in response to the input signal and passes the allocation information along path 111 to quantizer 104 and formatter 106. Quantizer 104 quantizes the subband information received from filterbank 102 using a number of bits specified by the allocation information, and formatter 106 assembles the quantized subband information and the allocation information into an encoded signal having a format suitable for transmission or storage. The encoded signal is passed along path 108 to a transmission channel or storage device as desired. Figure 2 illustrates the basic structure of one embodiment of a split-band decoder used in an encoder/decoder system incorporating forward-adaptive allocation. Deformatter 202 extracts quantized information and allocation information from an encoded signal received from path 200. The allocation information is passed along path 211 and to dequantizer 204. Dequantizer 204 generates subband information by dequantizing the quantized information received from deformatter 202. The information is dequantized using a number of bits specified by the allocation information. Inverse filterbank 206 generates along path 208 an output signal in response to the dequantized subband information received from dequantizer 204. Alternate embodiments of the encoder and decoder are possible. For example, as shown in Figure 3, a forward-adaptive encoder may establish allocation information in response to the subband information generated by filterbank 102. In yet another embodiment not shown in any figure, allocation information may be established in response to both the input signal and the subband information. As discussed above, because allocation information is explicitly passed in the encoded signal, the allocation function in a forward-adaptive encoder may be changed without sacrificing compatibility with existing forward-adaptive decoders. Only the format of the encoded signal need be preserved. Backward-Adaptive Allocation Figure 4 illustrates the basic structure of one embodiment of a split-band encoder used in an encoder/decoder system incorporating backward-adaptive allocation. Filterbank 102 generates subband information in response to an input signal received from path 100. Converter 112 generates a representation of the subband information comprising X words and Y words. The X words are passed along path 113 as input to allocation function 110 and to formatter 106. Allocation function 110 establishes allocation information in response to the X words and passes the allocation information to quantizer 104. Quantizer 104 generates quantized information by quantizing the Y words received from path 115 using a number of bits specified by the allocation information, and formatter 106 assembles the quantized information and the X words into an encoded signal having a format suitable for transmission or storage. The encoded signal is passed along path 108 to a transmission channel or storage device as desired. Figure 5 illustrates the basic structure of one embodiment of a split-band decoder used in an encoder/decoder system incorporating backward-adaptive allocation. Deformatter 202 extracts quantized information and X words from an encoded signal received from path 200. The X words are passed along path 203 to allocation function 210. Allocation function 210 establishes allocation information in response to the X words and passes the allocation information to dequantizer 204. Dequantizer 204 generates Y words by dequantizing the quantized information received from deformatter 202. The Ϋ words are dequantized using a number of bits specified by the allocation information. Inverse converter 212 generates subband information in response to the X words and the Y words, and inverse filterbank 206 generates along path 208 an output signal in response to the subband information received from inverse converter 212. Backward-adaptive coding systems may avoid the overhead required to convey side information in the encoded signal because the allocation information is represented implicitly by the X words assembled into the encoded signal. A backward-adaptive decoder can recover the allocation information from the X words by performing the same allocation function previously performed in a backward-adaptive encoder. It should be understood that accurate decoding of the encoded signal does not require that the encoder and decoder allocation functions themselves be identical, but accurate decoding can be ensured only if the two functions obtain identical allocation information in response to the same set of X words. Hybrid-Adaptive Allocation Figure 6 illustrates the basic structure of one embodiment of a split-band encoder used in an encoder/decoder system incorporating hybrid-adaptive allocation according to the teachings of the present invention. The structure and operation of this embodiment is discussed in the context of the structure and operation of the backward-adaptive encoder discussed above and illustrated in Figure 4. Adaptor 120 modifies one or more values of the allocation information established by allocation function 110 using either one or both of two basic techniques. The structure used to implement both techniques is illustrated in Figure 6; however, either technique may be used alone. In the first or "parameter" technique, adaptor 120 modifies one or more parameters which affect the results of allocation function 110. The modified parameters provided by adaptor 120 are passed along path 123 to allocation function 110 and to formatter 106. Formatter 106 assembles an indication of the modified parameters and the quantized information into an encoded signal having a format suitable for transmission or storage. In the second or "value" technique, adaptor 120 modifies one or more new values for the respective values of the allocation information. The modified values provided by adaptor 120 are passed along path 121 to formatter 106 and merge 118. Merge 118 merges the modified values with the allocation information received from allocation function 110 and passes the merged allocation information to quantizer 104. Formatter 106 assembles an indication of the modified values and the quantized information into an encoded signal having a format suitable for transmission or storage. The embodiment illustrated in Figure 6 shows adaptor 120 being responsive to the input signal received from path 100, the subband information received from path 103, and the X words received from path 113. In alternate embodiments of a hybrid-adaptive encoder, adaptor 120 may be responsive to any one of the three paths, responsive to any combination of the three paths, and/or responsive to other information. Figure 7 illustrates the basic structure of one embodiment of a split-band decoder used in an encoder/decoder system incorporating hybrid-adaptive allocation according to the teachings of the present invention. The structure and operation of this embodiment is discussed in the context of the structure and operation of the backward-adaptive decoder discussed above and illustrated in Figure 5. One or more values of the allocation information is modified using either one or both of two basic techniques similar to that discussed above. The structure used to implement both techniques is illustrated in Figure 7; however, either technique may be used alone. In the first or "parameter" technique, deformatter 202 extracts from the encoded signal one or more modified parameters which affect the results of allocation function 210, and passes the modified parameters along path 213 to allocation function 210. In the second or "value" technique, deformatter 202 extracts one or more modified values from the encoded signal and passes the modified values along path 205 to merge 218. Merge 218 merges the modified values with the allocation information received from allocation function 210, and passes the merged allocation information to dequantizer 204. Implementation The several elements illustrated in Figures 6 and 7 may be realized by a wide variety of implementations. Filterbank 102 and inverse filterbank 206, for example, may be implemented by various digital filtering techniques known in the art including, but not limited to, Quadrature Mirror Filters, polyphase filters, Fourier transforms, and the TDAC transform referred to above. No particular technique is critical to the practice of the present invention. Although the foregoing description of the present invention is more particularly directed toward split-band coding applications, it should be understood that the present invention may be applied to wide band coding as well. Converter 112 and inverse converter 212 which generate and recover the X words and Y words may also be realized by a wide variety implementations. As discussed above, the X words are characterized by the fact that they are available to both encoder and decoder to inform the allocation function. The X words may, in general, correspond to scale factors and the Y words may correspond to values scaled in accordance with the scale factors. In embodiments utilizing various floating-point representations of numerical quantities, the X words may correspond to the floating-point exponents and the Y words may correspond to the floating-point mantissas. The particular processes provided by allocation function 110 and allocation function 210 are not critical to the practice of the present invention. As mentioned above, the two functions need not be identical but, given identical parameters, they must obtain identical allocation information in response to the same set of X words. Several examples of coding systems incorporating various allocation functions are disclosed in the U.S. patents incorporated by reference above. Additional examples of forward-adaptive and backward- adaptive processes are disclosed in U.S. patents 4,142,071, 4,455,649, 4,896,362, 5,157,760 and 5,166,686, all of which are incorporated by reference in their entirety. Many other examples are known in the art. The results obtained by the various allocation functions are affected by various parameters. Such parameters depend upon the specific allocation function used; therefore, a complete list is not possible. The specific parameters chosen are not critical to the practice of the present invention, but several examples may help explain the concept. For example, in an embodiment representing subband information in floating-point format, an additional bit can be allocated for each 6 dB increase in spectral amplitude by allocating a number of bits which is a linear function of the floating-point exponent. Alternatively, an additional bit can be allocated for each 12, 18 or 24 dB increase in amplitude by allocating as a linear function of the exponent divided by two, three or four, respectively. The divisor of the exponent is an example of one parameter which affects the results of this particular allocation function. In split-band coding systems using allocation functions which are based upon various psycho-perceptual effects, any parameter affecting the underlying psycho-perceptual model may be modified to adapt the allocation function. In audio coding applications, for example, such parameters include (1) the level or degree of psychoacoustic masking above or below a masking tone, (2) the shape of the psychoacoustic masking threshold as a function of the difference between a given frequency and a masking component, (3) the level of inter-channel masking in a multi-channel system, (4) the bandwidth of the input signal, (5) the minimum number of bits to allocate to subband information as a function of frequency, and (6) the maximum number of bits to allocate as a function of frequency. Adaptive quantizers are well known in the art. The particular quantizing function used by quantizer 104 and quantizer 204 are not critical, but the two functions should produce identical results. For example, the quantizing function may be linear or non¬ linear, symmetric or asymmetric. The methods employed by merge 118 and merge 218 are not critical to the present invention. In concept, each element merges into one set of values the corresponding values from the set of allocation information values and the set of modified values. This may be done in a variety of ways. For example, an allocation information value may be replaced by a corresponding modified value. In one embodiment of a split-band encoder, each allocation information value represents the number bits to use in quantizing subband information in a respective subband. Each modified value supersedes the corresponding allocation information value and is used by the quantizer instead. As another example, an allocation information value may be modified by combining it with a corresponding modified value; that is, the modified value represents an incremental amount by which the corresponding allocation information value should be changed. Continuing the exemplary split-band embodiment above, the number of bits used to quantize subband information in a particular subband is defined by the algebraic sum of the respective allocation information value and the corresponding modified value, if any exists. Alternatively, the modified value may represent a factor by which the corresponding allocation information value should be scaled. Adaptor 120 may utilize either or both of the "parameter" technique and the "value" technique to adapt the allocation process. The "parameter" technique entails modifying one or more parameters such as those discussed above which affect the results of the allocation function. The "value" technique entails generating one or more modified values which are merged with the allocation information values obtained from the allocation function. The particular process used to implement either technique is not critical to the practice of the present invention. One approach comprises performing an alternative allocation function, comparing the results of the alternate function with the "basic values" obtained from basic allocation function 110, and forming modified values for each alternate value where the difference between it and the respective basic value is significant. The complexity of the basic allocation function may be restricted so as to simplify the decoder, but the alternate allocation function may be as complex as desired. In audio coding applications, for example, the alternate function may use a more sophisticated psychoacoustic model including consideration for signal characteristics such as the flatness of the input signal spectrum, the average or peak amplitude of the input signal, and whether a masking component is tone-like or noise-like. Another exemplary adapting process avoids performing a complete allocation function, merely generating adjustments to the basic allocation values in response to the detection of various signal characteristics. For example, the basic allocation values may be increased in response to detecting tone-like masking components, or the basic allocation values may be decreased in response to detecting that the input signal spectrum is essentially flat. As discussed above, adaptor 120 may be responsive to the input signal, the subband information obtained from filterbank 102, the X words obtained from converter 112, or any other information of significance to the particular application. In a coding system for a long-distance telephone network, for example, adaptor 120 may be responsive to date, time-of-day and day-of-week information so as to provide an allocation function which reduces bit allocations, thereby trading off lower information requirements against higher fidelity coding, in anticipation of forecasted increases in traffic through the network. In a digital video display system, for example, adaptor 120 may provide an allocation function which is responsive to operator input, thereby allowing the operator to tradeoff shorter display response times against higher picture resolutions. As these examples show, adaptor 120 may be responsive to any information which is desired in a particular application. The choice of this information is not critical to the practice of the present invention. In many coding systems where the encoded signal is represented by a serial bit stream, the functions provided by formatter 108 and deformatter 202 substantially correspond to serial multiplexing and demultiplexing, respectively. Although the implementation of the formatting and deformatting functions may be important to a particular application, it is not critical to the practice of the present invention. Any process is suitable which can put the encoded signal into a form suitable for transmission or storage, and can recover the encoded signal from the formatted representation. It should be appreciated that the present invention may be practiced within numerous embodiments implemented by a wide variety of techniques. Although the foregoing discussion is more particularly directed toward audio coding applications, the present invention may be practiced in a wider range of coding applications such as video coding.

Claims: CLAIMS 1. An encoder for encoding an input signal comprising subband means responsive to said input signal for generating subband information representing the spectral composition of said input signal, said subband information comprising X words and Y words, allocating means for establishing a plurality of basic allocation values by applying an allocation function to said X words, each of said plurality of values associated with one or more of said Y words, adapting means responsive to at least one of said input signal, said subband information, said X words, and said basic allocation values, for generating one or more modified allocation values corresponding to respective ones of said plurality of basic allocation values and/or for generating one or more parameters affecting the results of said allocation function, quantizing means for generating quantized information by quantizing each of said Y words using a number of bits equal to either the associated one of said plurality of basic allocation values or corresponding modified allocation value, and formatting means for assembling, into a form suitable for transmission or storage, said X words, said quantized information, and side information comprising an indication of said modified allocation values and/or parameters. 2. An encoder according to claim 1 wherein said subband means generates a floating-point representation of said subband information, wherein said X words represent floating-point exponents and said Y words represent floating-point mantissas. 3. An encoder according to claim 1 wherein said X words represent scale factors and said Y words represent values scaled by said scaled factors. 4. An encoder according to any one of claims 1 through 3 wherein said X words represent a spectral envelope of said input signal. 5. An encoder according to any one of claims 1 through 4 wherein said allocation function is based upon psychoacoustic principles and said parameters pertain to any from the set of the degree of masking at frequencies above a masking component, degree of masking at frequencies below a masking component, function of signal-to-noise ratio versus frequency-difference with a masking component to achieve masking, level of inter-channel masking, and bandwidth of said input signal. 6. An encoder according to any one of claims 1 through 5 wherein said adapting means generates modified allocation values representing differences with respect to one or more of said plurality of basic allocation values. 7. An encoder according to any one of claims 1 through 6 wherein said adapting means obtains alternate allocation values by performing an alternate allocation function. 8. An encoder according to any one of claims 1 through 7 wherein said adapting means generates only respective ones of said modified allocation values and/or said parameters which result in allocations which differ significantly from respective ones of said basic allocation values. 9. An encoder according to claim 7 or 8 in combination with claim 7 wherein said alternate allocation function is based upon any from the set of the spectral flatness of said input signal, amplitude of said input signal, and whether the masking component is tone- like or noise-like. 10. An encoder according to any one of claims 1 through 9 wherein said side information comprises a representation of the magnitude of said modified allocation values and/or parameters. 11. An encoder according to any one of claims 1 through 9 wherein said side information comprises a representation of the difference between said modified allocation values and/or parameters and a respective basic allocation value and/or unmodified parameter. 12. A decoder for decoding encoded information, comprising deformatting means for disassembling said encoded information into X words, quantized words, and side information comprising an indication of one or more modified allocation values and/or one or more modified parameters, allocating means for establishing a plurality of basic allocation values by applying an allocation function to said X words, each of said plurality of basic values associated with one or more of said quantized words, wherein the results of said allocation function are affected by said modified parameters if present, dequantizing means for generating Y words by dequantizing said quantized words from a number of bits equal to the associated one of said plurality of basic allocation values or derived from respective modified allocation values if present, and inverse subband means responsive to subband information comprising said X words and Ϋ words for generating a replica of the information represented by said encoded information. 13. A decoder according to claim 12 wherein said X words represent floating-point exponents and said Y words represent floating-point mantissas. 14. A decoder according to claim 12 wherein said X words represent scale factors and said Y words represent values scaled by said scaled factors. 15. A decoder according to any one of claims 12 through 14 wherein said X words represent a spectral envelope of said input signal. 16. A decoder according to any one of claims 12 through 15 wherein said allocation function is based upon psychoacoustic principles and said parameters pertain to any from the set of the degree of masking at frequencies above a masking component, degree of masking at frequencies below a masking component, function of signal-to-noise ratio versus frequency-difference with a masking component to achieve masking, level of inter-channel masking, and bandwidth of said input signal. 17. A decoder according to any one of claims 12 through 16 wherein said side information comprises a representation of the magnitude of said modified allocation values and/or parameters. 18. A decoder according to any one of claims 12 through 16 wherein said side information comprises a representation of the difference between said modified allocation values and/or parameters and a respective basic allocation value and/or unmodified parameter. 19. An encoding method for encoding an input signal comprising generating subband information representing the spectral composition of said input signal, said subband information comprising X words and Y words, establishing a plurality of basic allocation values by applying an allocation function to said X words, each of said plurality of values associated with one or more of said Y words, in response to at least one of said input signal, said subband information, said X words, and said allocation values, generating one or more modified allocation values corresponding to respective ones of said plurality of basic allocation values and/or generating one or more parameters affecting the results of said allocation function, generating quantized information by quantizing each of said Y words using a number of bits equal to either the associated one of said plurality of basic allocation values or corresponding modified allocation value, and assembling, into a form suitable for transmission or storage, said X words, said quantized information, and side information comprising an indication of said modified allocation values and/or parameters. 20. An encoding method according to claim 19 wherein said generating subband information generates a floating-point representation of said subband information, wherein said X words represent floating-point exponents and said Y words represent floating-point mantissas. 21. An encoding method according to claim 19 wherein said X words represent scale factors and said Y words represent values scaled by said scaled factors. 22. An encoding method according to any one of claims 19 through 21 wherein said X words represent a spectral envelope of said input signal. 23. An encoding method according to any one of claims 19 through 22 wherein said allocation function is based upon psychoacoustic principles and said parameters pertain to any from the set of the degree of masking at frequencies above a masking component, degree of masking at frequencies below a masking component, function of signal-to-noise ratio versus frequency-difference with a masking component to achieve masking, level of inter-channel masking, and bandwidth of said input signal. 24. An encoding method according to any one of claims 19 through 23 wherein said generating one or more modified allocation values generates modified allocation values representing differences with respect to one or more of said plurality of basic allocation values. 25. An encoding method according to any one of claims 19 through 24 wherein said generating one or more modified allocation values generates alternate allocation values by performing an alternate allocation function. 26. An encoding method according to any one of claims 19 through 25 wherein said generating one or more modified allocation values generates only respective ones of said modified allocation values and/or said parameters which result in allocations which differ significantly from respective ones of said basic allocation values. 27. An encoding method according to claim 25 or 26 in combination with claim 25 wherein said alternate allocation function is based upon any from the set of the spectral flatness of said input signal, amplitude of said input signal, and whether the masking component is tone-like or noise-like. 28. An encoding method according to any one of claims 19 through 27 wherein said side information comprises a representation of the magnitude of said modified allocation values and/or parameters. 29. An encoding method according to any one of claims 19 through 27 wherein said side information comprises a representation of the difference between said modified allocation values and/or parameters and a respective basic allocation value and/or unmodified parameter. 30. A decoding method for decoding encoded information, comprising disassembling said encoded information into X words, quantized words, and side information comprising an indication of one or more modified allocation values and/or one or more modified parameters, establishing a plurality of basic allocation values by applying an allocation function to said X words, each of said plurality of basic values associated with one or more of said quantized words, wherein the results of said allocation function are affected by said modified parameters if present, generating Ϋ words by dequantizing said quantized words from a number of bits equal to the associated one of said plurality of basic allocation values or derived from respective modified allocation values if present, and in response to subband information comprising said X words and Ϋ words, generating a replica of the information represented by said encoded information. 31. A decoding method according to claim 30 wherein said X words represent floating-point exponents and said Y words represent floating-point mantissas. 32. A decoding method according to claim 30 wherein said X words represent scale factors and said Y words represent values scaled by said scaled factors. 33. A decoding method according to any one of claims 30 through 32 wherein said X words represent a spectral envelope of said input signal. 34. A decoding method according to any one of claims 30 through 33 wherein said allocation function is based upon psychoacoustic principles and said parameters pertain to any from the set of the degree of masking at frequencies above a masking component, degree of masking at frequencies below a masking component, function of signal-to-noise ratio versus frequency-difference with a masking component to achieve masking, level of inter-channel masking, and bandwidth of said input signal. 35. A decoding method according to any one of claims 30 through 34 wherein said side information comprises a representation of the magnitude of said modified allocation values and/or parameters. 36. A decoding method according to any one of claims 30 through 34 wherein said side information comprises a representation of the difference between said modified allocation values and/or parameters and a respective basic allocation value and/or unmodified parameter.

Inventors: DAVIDSON GRANT ALLEN, DAVIS MARK FRANKLIN, FIELDER LOUIS DUNN, LINK BRIAN DAVID, TODD CRAIG CAMPBELL, DAVIDSON, GRANT, ALLEN, DAVIS, MARK, FRANKLIN, FIELDER, LOUIS, DUNN, LINK, BRIAN, DAVID, TODD, CRAIG, CAMPBELL
Applicants: DOLBY LAB LICENSING CORP, DOLBY LABORATORIES LICENSING CORPORATION
Application year: 1994
Main classification: H04B1
IPC codes: H03M7, H04B1, H04B14