The present invention pertains to audio encoding and decoding devices and methods for transmission, recording and playback of audio signals. More particularly, the present invention provides for a reduction of information required to transmit or record a given audio signal while maintaining a given level of perceived quality in the playback output signal.
Many communications systems face the problem that the demand for information transmission and recording capacity often exceeds the available capacity. As a result, there is considerable interest among those in the fields of broadcasting and recording to reduce the amount of information required to transmit or record an audio signal intended for human perception without degrading its perceived quality. There is also an interest to improve the perceived quality of the output signal for a given bandwidth or storage capacity.
Traditional methods for reducing information capacity requirements involve transmitting or recording only selected portions of the input signal. The remaining portions are discarded. Techniques known as perceptual encoding typically convert an original audio signal into spectral components or frequency subband signals so that those portions of the signal that are either redundant or irrelevant can be more easily identified and discarded. A signal portion is deemed to be redundant if it can be recreated from other portions of the signal. A signal portion is deemed to be irrelevant if it is perceptually insignificant or inaudible. A perceptual decoder can recreate the missing redundant portions from an encoded signal but it cannot create any missing irrelevant information that was not also redundant. The loss of irrelevant information is acceptable, however, because its absence has no perceptible effect on the decoded signal.
A signal encoding technique is perceptually transparent if it discards only those portions of a signal that are either redundant or perceptually irrelevant. If a perceptually transparent technique cannot achieve a sufficient reduction in information capacity requirements, then a perceptually non-transparent technique is needed to discard additional signal portions that are not redundant and are perceptually relevant. The inevitable result is that the perceived fidelity of the transmitted or recorded signal is degraded. Preferably, a perceptually non-transparent technique discards only those portions of the signal deemed to have the least perceptual significance.
An encoding technique referred to as “coupling,” which is often regarded as a perceptually non-transparent technique, may be used to reduce information capacity requirements. According to this technique, the spectral components in two or more input audio signals are combined to form a coupled-channel signal with a composite representation of these spectral components. Side information is also generated that represents a spectral envelope of the spectral components in each of the input audio signals that are combined to form the composite representation. An encoded signal that includes the coupled-channel signal and the side information is transmitted or recorded for subsequent decoding by a receiver. The receiver generates decoupled signals, which are inexact replicas of the original input signals, by generating copies of the coupled-channel signal and using the side information to scale spectral components in the copied signals so that the spectral envelopes of the original input signals are substantially restored. A typical coupling technique for a two-channel stereo system combines high-frequency components of the left and right channel signals to form a single signal of composite high-frequency components and generates side information representing the spectral envelopes of the high-frequency components in the original left and right channel signals. One example of a coupling technique is described in “Digital Audio Compression (AC-3),” Advanced Television Systems Committee (ATSC) Standard document A/52, which is incorporated by reference in its entirety.
The information capacity requirements of the side information and the coupled-channel signal should be chosen to optimize a tradeoff between two competing needs. If the information capacity requirement for the side information is set too high, the coupled-channel will be forced to convey its spectral components at a low level of accuracy. Lower levels of accuracy in the coupled-channel spectral components may cause audible levels of coding noise or quantizing noise to be injected into the decoupled signals. Conversely, if the information capacity requirement of the coupled-channel signal is set too high, the side information will be forced to convey the spectral envelopes with a low level of spectral detail. Lower levels of detail in the spectral envelopes may cause audible differences in the spectral level and shape of each decoupled signal.
Generally, a good tradeoff can be achieved if the side information conveys the spectral level of frequency subbands that have bandwidths commensurate with the critical bands of the human auditory system. It may be noted that the decoupled signals may be able to preserve spectral levels of the original spectral components of original input signals but they generally do not preserve the phase of the original spectral components. This loss of phase information can be imperceptible if coupling is limited to high-frequency spectral components because the human auditory system is relatively insensitive to changes in phase, especially at high frequencies.
The side information that is generated by traditional coupling techniques has typically been a measure of spectral amplitude. As a result, the decoder in a typical system calculates scale factors based on energy measures that are derived from spectral amplitudes. These calculations generally require computing the square root of the sum of the squares of values obtained from the side information, which requires substantial computational resources.
An encoding technique sometimes referred to as “high-frequency regeneration” (HFR) is a perceptually non-transparent technique that may be used to reduce information capacity requirements. According to this technique, a baseband signal containing only low-frequency components of an input audio signal is transmitted or stored. Side information is also provided that represents a spectral envelope of the original high-frequency components. An encoded signal that includes the baseband signal and the side information is transmitted or recorded for subsequent decoding by a receiver. The receiver regenerates the omitted high-frequency components with spectral levels based on the side information and combines the baseband signal with the regenerated high-frequency components to produce an output signal. A description of known methods for HFR can be found in Makhoul and Berouti, “High-Frequency Regeneration in Speech Coding Systems”, Proc. of the International Conf. on Acoust., Speech and Signal Proc., April 1979. An improved HFR technique that is suitable for encoding high-quality music is disclosed in U.S. patent application Ser. No. 10/113,858 entitled “Broadband Frequency Translation for High Frequency Regeneration” filed Mar. 28, 2002, which is incorporated by reference in its entirety and is referred to below as the HFR application.
The information capacity requirements of the side information and the baseband signal should be chosen to optimize a tradeoff between two competing needs. If the information capacity requirement for the side information is set too high, the encoded signal will be forced to convey the spectral components in the baseband signal at a low level of accuracy. Lower levels of accuracy in the baseband signal spectral components may cause audible levels of coding noise or quantizing noise to be injected into the baseband signal and other signals that are synthesized from it. Conversely, if the information capacity requirement of the baseband signal is set too high, the side information will be forced to convey the spectral envelopes with a low level of spectral detail. Lower levels of detail in the spectral envelopes may cause audible differences in the spectral level and shape of each synthesized signal.
Generally, a good tradeoff can be achieved if the side information conveys the spectral levels of frequency subbands that have bandwidths commensurate with the critical bands of the human auditory system.
Just as for the coupling technique discussed above, the side information that is generated by traditional HFR techniques has typically been a measure of spectral amplitude. As a result, the decoder in typical systems calculates scale factors based on energy measures that are derived from spectral amplitudes. These calculations generally require computing the square root of the sum of the squares of values obtained from the side information, which requires substantial computational resources.
Traditional systems have used either coupling techniques or HFR techniques but not both. In many applications, the coupling techniques may cause less signal degradation than HFR techniques but HFR techniques can achieve greater reductions in information capacity requirements. The HFR techniques can be used advantageously in multi-channel and single-channel applications; however, coupling techniques do not offer any advantage in single-channel applications.
It is an object of the present invention to provide for improvements in signal processing techniques like those that implement coupling and HFR in audio coding systems.
According to one aspect of the present invention, a method for encoding one or more input audio signals includes steps that obtain one or more baseband signals and one or more residual signals from the input audio signals, where spectral components of the baseband signals are in a first set of frequency subbands and spectral components in the residual signals are in a second set of frequency subbands that are not represented by the baseband signals; obtain energy measures of spectral components of one or more synthesized signals to be generated within the second set of frequency subbands during decoding; obtain energy measures of spectral components of the residual signals; calculate scale factors by obtaining square roots and ratios of the energy measures of spectral components in the residual signals and in the synthesized signals; and assemble into an encoded signal scaling information that represents the scale factors and signal information that represents the spectral components in the baseband signals.
According to another aspect of the present invention, a method for decoding an encoded signal representing one or more input audio signals includes steps that obtain scaling information and signal information from the encoded signal, where the scaling information represents scale factors calculated by obtaining square roots and ratios of energy measures of spectral components and the signal information represents spectral components for one or more baseband signals, and where the spectral components in the baseband signals represent spectral components of the input audio signals in a first set of frequency subbands; generate for the baseband signals associated synthesized signals having spectral components in a second set of frequency subbands that are not represented by the baseband signals, where the spectral components in the synthesized signals are scaled by multiplication or division according to one or more of the scale factors; and generate one or more output audio signals that represent the input audio signals and are generated from spectral components in the baseband signals and the associated synthesized signals.
According to yet another aspect of the present invention, a method for encoding a plurality of input audio signals includes steps that obtain a plurality of baseband signals, a plurality of residual signals and a coupled-channel signal from the input audio signals, where spectral components of the baseband signals represent spectral components of the input audio signals in a first set of frequency subbands and spectral components of the residual signals represent spectral components of the input audio signals in a second set of frequency subbands that are not represented by the baseband signals, and where spectral components of the coupled-channel signal represent a composite of spectral components of two or more of the input audio signals in a third set of frequency subbands; obtain energy measures of spectral components of the residual signals and the two or more input audio signals represented by the coupled-channel signal; and assemble into an encoded signal scaling information that is derived from the energy measures and signal information that represents the spectral components in the baseband signals and the coupled-channel signal.
According to a further aspect of the present invention, a method for decoding an encoded signal representing a plurality of input audio signals includes steps that obtain control information and signal information from the encoded signal, where the control information is derived from energy measures of spectral components and the signal information represents spectral components of a plurality of baseband signals and a coupled-channel signal, the spectral components in the baseband signals representing spectral components of the input audio signals in a first set of frequency subbands and the spectral components of the coupled-channel signal representing a composite of spectral components in a third set of frequency subbands of two or more of the input audio signals; generate for the baseband signals associated synthesized signals having spectral components in a second set of frequency subbands that are not represented by the baseband signals, where the spectral components in the associated synthesized signal are scaled according to the control information; generate from the coupled-channel signal decoupled signals for the two or more input audio signals represented by the coupled-channel signal, where the decoupled signals have spectral components in the third set of frequency subbands that are scaled according to the control information; and generate a plurality of output audio signals representing the input audio signals from the spectral components in the baseband signals and associated synthesized signals, wherein output audio signals representing the two or more audio signals are also generated from the spectral components in respective decoupled signals.
Other aspects of the present invention include devices with processing circuitry that perform various encoding and decoding methods, media that convey programs of instructions executable by a device that cause the device to perform various encoding and decoding methods, and media that convey encoded information representing input audio signals that is generated by various encoding methods.
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 numbers 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.
The present invention pertains to audio coding systems and methods that reduce information capacity requirements of an encoded signal by discarding a “residual” portion of an original input audio signal and encoding only a baseband portion of the original input audio signal, and subsequently decoding the encoded signal by generating a synthesized signal to substitute for the missing residual portion. The encoded signal includes scaling information that is used by the decoding process to control signal synthesis so that the synthesized signal preserves to some degree the spectral levels of the residual portion of the original input audio signal.
This coding technique is referred to herein as High Frequency Regeneration (HFR) because it is anticipated that in many implementations the residual signal will contain the higher-frequency spectral components. In principle, however, this technique is not restricted to the synthesis of only high-frequency spectral components. The baseband signal could include some or all of the higher-frequency spectral components, or could include spectral components in frequency subbands scattered throughout the total bandwidth of an input signal.
The energy calculator 31 calculates one or more measures of spectral energy in one or more frequency subbands of the residual signal. In a preferred implementation, the spectral components received from the path 11 are arranged in frequency subbands having bandwidths commensurate with the critical bands of the human auditory system and the energy calculator 31 provides an energy measure for each of these frequency subbands.
The synthesis model 21 represents a signal synthesis process that will take place in a decoding process that will be used to decode the encoded signal generated along the path 51. The synthesis model 21 may carry out the synthesis process itself or it may perform some other process that can estimate the spectral energy of the synthesized signal without actually performing the synthesis process. The energy calculator 32 receives the output of the synthesis model 21 and calculates one or more measures of spectral energy in the signal to be synthesized. In a preferred implementation, spectral components of the synthesized signal are arranged in frequency subbands having bandwidths commensurate with the critical bands of the human auditory system and the energy calculator 32 provides an energy measure for each of these frequency subbands.
The illustration in
The scale factor calculator 40 receives one or more energy measures from each of the two energy calculators and calculates scale factors as explained in more detail below. Scaling information representing the calculated scale factors is passed along the path 41.
The formatter 50 receives the scaling information from the path 41 and receives from the path 12 information representing the spectral components of the baseband signal. This information is assembled into an encoded signal, which is passed along the path 51 for transmission or for recording. The encoded signal may be transmitted by baseband or modulated communication paths throughout the spectrum including from supersonic to ultraviolet frequencies, or it may be recorded on media using essentially any recording technology including magnetic tape, cards or disk, optical cards or disc, and detectable markings on media like paper.
In preferred implementations, the spectral components of the baseband signal are encoded using perceptual encoding processes that reduce information capacity requirements by discarding portions that are either redundant or irrelevant. These encoding processes are not essential to the present invention.
The illustration in
The signal scaling component 70 obtains scale factors from the scaling information received from the path 61. The scale factors are used to scale the spectral components of the synthesized signal generated by the signal synthesis component 23. The synthesis filterbank 80 receives the scaled synthesized signal from the path 71, receives the spectral components of the baseband signal from the path 62, and generates in response along the path 89 an output audio signal that is a decoded representation of the original input audio signal. Although the output signal is not identical to the original input audio signal, it is anticipated that the output signal is either perceptually indistinguishable from the input audio signal or is at least distinguishable in a way that is perceptually pleasing and acceptable for a given application.
In preferred implementations, the signal information represents the spectral components of the baseband signal in an encoded form that must be decoded using a decoding process that is inverse to the encoding process used in the encoder. As mentioned above, these processes are not essential to the present invention.
The analysis and synthesis filterbanks may be implemented in essentially any way that is desired including a wide range of digital filter technologies, block transforms and wavelet transforms. In one audio coding system having an encoder and a decoder like those shown in
Analysis filterbanks that are implemented by block transforms split a block or interval of an input signal into a set of transform coefficients that represent the spectral content of that interval of signal. A group of one or more adjacent transform coefficients represents the spectral content within a particular frequency subband having a bandwidth commensurate with the number of coefficients in the group.
Analysis filterbanks that are implemented by some type of digital filter such as a polyphase filter, rather than a block transform, split an input signal into a set of subband signals. Each subband signal is a time-based representation of the spectral content of the input signal within a particular frequency subband. Preferably, the subband signal is decimated so that each subband signal has a bandwidth that is commensurate with the number of samples in the subband signal for a unit interval of time.
The following discussion refers more particularly to implementations that use block transforms like the Time Domain Aliasing Cancellation (TDAC) transform mentioned above. In this discussion, the term “spectral components” refers to the transform coefficients and the terms “frequency subband” and “subband signal” pertain to groups of one or more adjacent transform coefficients. Principles of the present invention may be applied to other types of implementations, however, so the terms “frequency subband” and “subband signal” pertain also to a signal representing spectral content of a portion of the whole bandwidth of a signal, and the term “spectral components” generally may be understood to refer to samples or elements of the subband signal.
In coding systems using a transform like the TDAC transform, for example, transform coefficients X(k) represent spectral components of an original input audio signal x(t). The transform coefficients are divided into different sets representing a baseband signal and a residual signal. Transform coefficients Y(k) of a synthesized signal are generated during the decoding process using a synthesis process such as one of those described below.
In a preferred implementation, the encoding process provides scaling information that conveys scale factors calculated from the square root of a ratio of a spectral energy measure of the residual signal to a spectral energy measure of the synthesized signal. Measures of spectral energy for the residual signal and the synthesized signal may be calculated from the expressions
E(k)=X2(k) (1a)
ES(k)=Y2(k) (1b)
where
X(k)=transform coefficient k in the residual signal;
E(k)=energy measure of spectral component X(k);
Y(k)=transform coefficient k in the synthesized signal; and
ES(k)=energy measure of spectral component Y(k).
The information capacity requirements for side information that is based on energy measures for each spectral component is too high for most applications; therefore, scale factors are calculated from energy measures of groups or frequency subbands of spectral components according to the expressions
where
E(m)=energy measure for frequency subband m of the residual signal; and
ES(m)=energy measure for frequency subband m of the synthesized signal.
The limits of summation m1 and m2 specify the lowest and highest frequency spectral components in subband m. In preferred implementations, the frequency subbands have bandwidths commensurate with the critical bands of the human auditory system.
The limits of summation may also be represented using a set notation such as kε{M} where {M} represents the set of all spectral components that are included in the energy calculation. This notation is used throughout the remainder of this description for reasons that are explained below. Using this notation, expressions 2a and 2b may be written as shown in expressions 2c and 2d, respectively,
{M}=set of all spectral components in subband m.
The scale factor SF(m) for subband m may be calculated from either of the following expressions
but a calculation based on the first expression is usually more efficient.
Preferably, the encoding process provides scaling information in the encoded signal that conveys the calculated scale factors in a form that requires a lower information capacity than these scale factors themselves. A variety of methods may be used to reduce the information capacity requirements of the scaling information.
One method represents each scale factor itself as a scaled number with an associated scaling value. One way in which this may be done is to represent each scale factor as a floating-point number in which a mantissa is the scaled number and an associated exponent represents the scaling value. The precision of the mantissas or scaled numbers can be chosen to convey the scale factors with sufficient accuracy. The allowed range of the exponents or scaling values can be chosen to provide a sufficient dynamic range for the scale factors. The process that generates the scaling information may also allow two or more floating-point mantissas or scaled numbers to share a common exponent or scaling value.
Another method reduces information capacity requirements by normalizing the scale factors with respect to some base value or normalizing value. The base value may be specified in advance to the encoding and decoding processes of the scaling information, or it may be determined adaptively. For example, the scale factors for all frequency subbands of an audio signal may be normalized with respect to the largest of the scale factors for an interval of the audio signal, or they may be normalized with respect to a value that is selected from a specified set of values. Some indication of the base value is included with the scaling information so that the decoding process can reverse the effects of the normalization.
The processing needed to encode and decode the scaling information can be facilitated in many implementations if the scale factors can be represented by values that are within a range from zero to one. This range can be assured if the scale factors are normalized with respect to some base value that is equal to or larger than all possible scale factors. Alternatively, the scale factors can be normalized with respect to some base value larger than any scale factor that can be reasonably expected and set equal to one if some unexpected or rare event causes a scale factor to exceed this value. If the base value is restrained to be a power of two, the processes that normalize the scale factors and reverse the normalization can be implemented efficiently by binary integer arithmetic functions or binary shift operations.
More than one of these methods may be used together. For example, the scaling information may include floating-point representations of normalized scale factors.
The synthesized signal may be generated in a variety of ways.
One technique generates spectral components Y(k) of the synthesized signal by linearly translating spectral components X(k) of a baseband signal. This translation may be expressed as
Y(j)=X(k) (4)
where the difference (j−k) is the amount of frequency translation for spectral component k.
When spectral components in subband m are translated into frequency subband p, the encoding process may calculate a scale factor for frequency subband p from an energy measure of spectral components in frequency subband m according to the expression
where
{P}=set of all spectral components in frequency subband p; and
{M}=set of spectral components in frequency subband m that are translated.
The set {M} is not required to contain all spectral components in frequency subband m and some of the spectral components in frequency subband m may be represented in the set more than once. This is because the frequency translation process may not translate some spectral components in frequency subband m and may translate other spectral components in frequency subband m more than once by different amounts each time. Either or both of these situations will occur when frequency subband p does not have the same number of spectral components as frequency subband m.
The following example illustrates a situation in which some spectral components in a subband m are omitted and others are represented more than once. The frequency extent of frequency subband m is from 200 Hz to 3.5 kHz and the frequency extent of frequency subband p is from 10 kHz to 14 kHz. A signal is synthesized in frequency subband p by translating spectral components from 500 Hz to 3.5 kHz into the range from 10 kHz to 13 kHz, where the amount of translation for each spectral component is 9.5 kHz, and by translating the spectral components from 500 Hz to 1.5 kHz into the range 13 kHz to 14 kHz, where the amount of translation for each spectral component is 12.5 kHz. The set {M} in this example would not include any spectral component from 200 Hz to 500 Hz, but would include the spectral components from 1.5 kHz to 3.5 kHz and would include two occurrences of each spectral component from 500 Hz to 1.5 kHz.
The HFR application mentioned above describes other considerations that may be incorporated into a coding system to improve the perceived quality of the synthesized signal. One consideration is a feature that modifies translated spectral components as necessary to ensure a coherent phase is maintained in the translated signal. In preferred implementations of the present invention, the amount of frequency translation is restricted so that the translated components maintain a coherent phase without any further modification. For implementations using the TDAC transform, for example, this can be achieved by ensuring the amount of translation is an even number.
Another consideration is the noise-like or tone-like character of an audio signal. In many situations, the higher-frequency portion of an audio signal is more noise like than the lower-frequency portion. If a low-frequency baseband signal is more tone like and a high-frequency residual signal is more noise like, frequency translation will generate a high-frequency synthesized signal that is more tone-like than the original residual signal. The change in the character of the high-frequency portion of the signal can cause an audible degradation, but the audibility of the degradation can be reduced or avoided by a synthesis technique described below that uses frequency translation and noise generation to preserve the noise-like character of the high-frequency portion.
In other situations when the lower-frequency and higher-frequency portions of a signal are both tone like, frequency translation may still cause an audible degradation because the translated spectral components do not preserve the harmonic structure of the original residual signal. The audible effects of this degradation can be reduced or avoided by restricting the lowest frequency of the residual signal to be synthesized by frequency translation. The HFR application suggests the lowest frequency for translation should be no lower than about 5 kHz.
A second technique that may be used to generate the synthesized signal is to synthesize a noise-like signal such as by generating a sequence of pseudo-random numbers to represent the samples of a time-domain signal. This particular technique has the disadvantage that an analysis filterbank must be used to obtain the spectral components of the generated signal for subsequent signal synthesis. Alternatively, a noise-like signal can be generated by using a pseudo-random number generator to directly generate the spectral components. Either method may be represented schematically by the expression
Y(j)=N(j) (6)
where N(j)=spectral component j of the noise-like signal.
With either method, however, the encoding process synthesizes the noise-like signal. The additional computational resources required to generate this signal increases the complexity and implementation costs of the encoding process.
3. Translation and Noise
A third technique for signal synthesis is to combine a frequency translation of the baseband signal with the spectral components of a synthesized noise-like signal. In a preferred implementation, the relative portions of the translated signal and the noise-like signal are adapted as described in the BFR application according to noise-blending control information that is conveyed in the encoded signal. This technique may be expressed as
Y(j)=a·X(k)+b·N(j) (7)
where
a=blending parameter for the translated spectral component; and
b=blending parameter for the noise-like spectral component.
In one implementation, the blending parameter b is calculated by taking the square root of a Spectral Flatness Measure (SFM) that is equal to a logarithm of the ratio of the geometric mean to the arithmetic mean of spectral component values, which is scaled and bounded to vary within a range from zero to one. For this particular implementation, b=1 indicates a noise-like signal. Preferably, the blending parameter a is derived from b as shown in the following expression
a=√{square root over (c−b2)} (8)
where c is a constant.
In a preferred implementation, the constant c in expression 8 is equal to one and the noise-like signal is generated such that its spectral components N(j) have a mean value of zero and energy measures that are statistically equivalent to the energy measures of the translated spectral components with which they are combined. The synthesis process can blend the spectral components of the noise-like signal with the translated spectral components as shown above in expression 7. The energy of frequency subband p in this synthesized signal may be calculated from the expression
In an alternative implementation, the blending parameters represent specified functions of frequency or they expressly convey functions of frequency a(j) and b(j) that indicate how the noise-like character of the original input audio signal varies with frequency. In yet another alternative, blending parameters are provided for individual frequency subbands, which are based on noise measures that can be calculated for each subband.
The calculation of energy measures for the synthesized signal are performed by both the encoding and decoding processes. Calculations that include spectral components of the noise-like signal are undesirable because the encoding process must use additional computational resources to synthesize the noise-like signal only for the purpose of performing these energy calculations. The synthesized signal itself is not needed for any other purpose by the encoding process.
The preferred implementation described above allows the encoding process to obtain an energy measure of the spectral components of the synthesized signal shown in expression 7 without synthesizing the noise-like signal because the energy of a frequency subband of the spectral components in the synthesized signal is statistically independent of the spectral energy of the noise-like signal. The encoding process can calculate an energy measure based only on the translated spectral components. An energy measure that is calculated in this manner will, on the average, be an accurate measure of the actual energy. As a result, the encoding process may calculate a scale factor for frequency subband p from only an energy measure of frequency subband m of the baseband signal according to expression 5.
In an alternative implementation, spectral energy measures are conveyed by the encoded signal rather than scale factors. In this alternative implementation, the noise-like signal is generated so that its spectral components have a mean equal to zero and a variance equal to one, and the translated spectral components are scaled so that their variance is one. The spectral energy of the synthesized signal that is obtained by combining components as shown in expression 7 is, on average, equal to the constant c. The decoding process can scale this synthesized signal to have the same energy measures as the original residual signal. If the constant c is not equal to one, the scaling process should also account for this constant.
Reductions in the information requirements of an encoded signal may be achieved for a given level of perceived signal quality in the decoded signal by using coupling in coding systems that generate an encoded signal representing two or more channels of audio signals.
The encoders illustrated in
Referring to
The coupler 26 generates along the path 27 a coupled-channel signal having spectral components that represent a composite of the spectral components received from the paths 13a and 13b. This composite representation may be formed in a variety of ways. For example, each spectral component in the composite representation may be calculated from the sum or the average of corresponding spectral component values received from the paths 13a and 13b. The energy calculator 37 calculates one or more measures of spectral energy in one or more frequency subbands of the coupled-channel signal. In a preferred implementation, these frequency subbands have bandwidths that are commensurate with the critical bands of the human auditory system and the energy calculator 37 provides an energy measure for each of these frequency subbands.
The scale factor calculator 44 receives one or more energy measures from each of the energy calculators 35a, 35b and 37 and calculates scale factors as explained above. Scaling information representing the scale factors for each input audio signal that is represented in the coupled-channel signal is passed along the paths 45a and 45b, respectively. This scaling information may be encoded as explained above. In a preferred implementation, a scale factor is calculated for each input channel signal in each frequency subband as represented by either of the following expressions
where
SFi(m)=scale factor for frequency subband m of signal channel i;
Ei(m)=energy measure for frequency subband m of input signal channel i; and
EC(m)=energy measure for frequency subband m of the coupled-channel.
The formatter 50 receives scaling information from the paths 41a, 41b, 45a and 45b, receives information representing spectral components of baseband signals from the paths 12a and 12b, and receives information representing spectral components of the coupled-channel signal from the path 27. This information is assembled into an encoded signal as explained above for transmission or recording.
The encoders shown in
Spectral components in the coupled-channel signal may be used in the decoding process for HFR. In such implementations, the encoder should provide control information in the encoded signal for the decoding process to use in generating synthesized signals from the coupled-channel signal. This control information may be generated in a number of ways.
One way is illustrated in
In an alternative implementation of the encoder shown in
In yet another implementation, scale factors for HFR are not calculated for the coupled-channel signal and/or the baseband signals. Instead, a representation of spectral energy measures are passed to the formatter 50 and included in the encoded signal rather than a representation of the corresponding scale factors. This implementation increases the computational complexity of the decoding process because the decoding process must calculate at least some of the scale factors; however, it does reduce the computational complexity of the encoding process.
Another way to generate the control information is illustrated in
In an alternative implementation of the encoder shown in
The deformatter 60 obtains from the encoded signal a coupled-channel signal and a set of coupling scale factors. The coupled-channel signal, which has spectral components that represent a composite of spectral components in the two input audio signals, is passed along the path 64. The coupling scale factors for each of the two input audio signals are passed along the paths 63a and 63b, respectively.
The signal scaling component 92a generates along the path 93a the spectral components of a decoupled signal that approximate the spectral energy levels of corresponding spectral components in one of the original input audio signals. These decoupled spectral components can be generated by multiplying each spectral component in the coupled-channel signal by an appropriate coupling scale factor. In implementations that arrange spectral components of the coupled-channel signal into frequency subbands and provide a scale factor for each subband, the spectral components of a decoupled signal may be generated according to the expression
XDi(k)=SFi(m)·XC(k) (11)
where
XC(k)=spectral component k in subband m of the coupled-channel signal;
SFi(m)=scale factor for frequency subband m of signal channel i; and
XDi(k)=decoupled spectral component k for signal channel i.
Each decoupled signal is passed to a respective synthesis filterbank. In the preferred implementation described above, the spectral components of each decoupled signal are in one or more subbands in a third set of frequency subbands that are intermediate to the frequency subbands of the first and second sets of frequency subbands.
Decoupled spectral components are also passed to a respective signal synthesis component 23a or 23b if they are needed for signal synthesis.
Coding systems that arrange spectral components into either two or three sets of frequency subbands as discussed above may adapt the frequency ranges or extents of the subbands that are included in each set. It can be advantageous, for example, to decrease the lower end of the frequency range of the second set of frequency subbands for the residual signal during intervals of an input audio signal that have high-frequency spectral components that are deemed to be noise like. The frequency extents may also be adapted to remove all subbands in a set of frequency subbands. For example, the HFR process may be inhibited for input audio signals that have large, abrupt changes in amplitude by removing all subbands from the second set of frequency subbands.
Referring to
The adaptive banding component 15 responds to the band control information by assigning the subband signal spectral components to sets of frequency subbands. Spectral components assigned to the first set of subbands are passed along the path 12. Spectral components assigned to the second set of subbands are passed along the path 11. Spectral components assigned to the third set of subbands are passed along the path 13. If there is a frequency range or gap that is not included in any of the sets, this may be achieved by not assigning spectral components in this range or gap to any of the sets.
The signal analysis component 17 may also generate band control information to adapt the frequency extents in response to conditions unrelated to the input audio signal. For example, extents may be adapted in response to a signal that represents a desired level of signal quality or the available capacity to transmit or record the encoded signal.
The band control information may be generated in many forms. In one implementation, the band control information specifies the lowest and/or the highest frequency for each set into which spectral components are to be assigned. In another implementation, the band control information specifies one of a plurality of predefined arrangements of frequency extents.
Referring to
The measures of spectral energy that are calculated from expression 1a in audio encoders that implement the analysis filterbank 10 with a transform such as the TDAC transform mentioned above, for example, tend to be lower than the true spectral energy of the input audio signal because the analysis filterbank provides only real-valued transform coefficients. Implementations that use transforms like the Discrete Fourier Transform (DFT) are able to provide more accurate energy calculations because each transform coefficient is represented by a complex value that more accurately conveys the true magnitude of each spectral component.
The inherent inaccuracy of energy calculations based on transform coefficients with only real values from transforms like the TDAC transform can be overcome by using a second analysis filterbank with basis functions that are orthogonal to the basis functions of the analysis filterbank 10.
The energy calculator 39 calculates more accurate measures of spectral energy E′(k) from the expression
E′(k)=X12(k)+X22(k) (12)
where
X1(k)=transform coefficient k from the first analysis filterbank; and
The scale factor calculator 49 calculates scale factors SF′(m) from these more accurate measures of energy in a manner that is analogous to expressions 3a or 3b. An analogous calculation to expression 3a is shown in expression 14.
Some care should be taken when using the scale factors SF′(m) that are calculated from these more accurate measures of energy. Spectral components of the synthesized signal that are scaled according to the more accurate scale factors SF′(m) will almost certainly distort the relative spectral balance of the baseband portion of a signal and the regenerated synthesized portion because the more accurate energy measures will always be greater than or equal to the energy measures calculated from only the real-valued transform coefficients. One way in which this difference can be compensated is to reduce the more accurate energy measurement by half because, on the average, the more accurate measure will be twice as large as the less accurate measure. This reduction will provide a statistically consistent level of energy in the baseband and synthesized portions of a signal while retaining the benefit of a more accurate measure of spectral energy.
It may be useful to point out that the denominator of the ratio in expression 14 should be calculated from only the real-valued transform coefficients from the analysis filterbank 10 even if additional coefficients are available from the second analysis filterbank 19. The calculation of the scale factors should be done in this manner because the scaling performed during the decoding process will be based on synthesized spectral components that are analogous to only the transform coefficients obtained from the analysis filterbank 10. The decoding process will not have access to any coefficients that correspond to or could be derived from spectral components obtained from the second analysis filterbank 19.
Various aspects of the present invention may be implemented in a wide variety of ways including software in a general-purpose computer system or in some other apparatus that includes more specialized components such as digital signal processor (DSP) circuitry coupled to components similar to those found in a general-purpose computer system.
In embodiments implemented in a general purpose computer system, additional components may be included for interfacing to devices such as a keyboard or mouse and a display, and for controlling a storage device having a storage medium such as magnetic tape or disk, or an optical medium. The storage medium may be used to record programs of instructions for operating systems, utilities and applications, and may include embodiments of programs that implement various aspects of the present invention.
The functions required to practice various aspects of the present invention can be performed by components that are implemented in a wide variety of ways including discrete logic components, integrated circuits, one or more ASICs and/or program-controlled processors. The manner in which these components are implemented is not important to the present invention.
Software implementations of the present invention may be conveyed by a variety machine readable media such as baseband or modulated communication paths throughout the spectrum including from supersonic to ultraviolet frequencies, or storage media that convey information using essentially any recording technology including magnetic tape, cards or disk, optical cards or disc, and detectable markings on media like paper.
Number | Name | Date | Kind |
---|---|---|---|
3684838 | Kahn | Aug 1972 | A |
3995115 | Kelly | Nov 1976 | A |
4610022 | Kitayama | Sep 1986 | A |
4667340 | Arjmand et al. | May 1987 | A |
4757517 | Yatsuzuka | Jul 1988 | A |
4776014 | Zinser, Jr. | Oct 1988 | A |
4790016 | Mazor et al. | Dec 1988 | A |
4885790 | McAulay et al. | Dec 1989 | A |
4914701 | Zibman | Apr 1990 | A |
4935963 | Jain | Jun 1990 | A |
5001758 | Galand et al. | Mar 1991 | A |
5054072 | McAulay et al. | Oct 1991 | A |
5054075 | Hong et al. | Oct 1991 | A |
5109417 | Fielder et al. | Apr 1992 | A |
5127054 | Hong et al. | Jun 1992 | A |
5394473 | Davidson | Feb 1995 | A |
5583962 | Davis et al. | Dec 1996 | A |
5636324 | Teh et al. | Jun 1997 | A |
5812971 | Herre | Sep 1998 | A |
5937000 | Lee et al. | Aug 1999 | A |
RE36478 | McAulay et al. | Dec 1999 | E |
6341165 | Brandenburg et al. | Jan 2002 | B1 |
6424939 | Herre | Jul 2002 | B1 |
6675144 | Tucker et al. | Jan 2004 | B1 |
6680972 | Liljeryd et al. | Jan 2004 | B1 |
6708145 | Liljeryd et al. | Mar 2004 | B1 |
20050065785 | Bessette | Mar 2005 | A1 |
Number | Date | Country |
---|---|---|
19509149 | Sep 1996 | DE |
0746116 | Apr 1996 | EP |
WO 9857436 | Dec 1998 | WO |
WO-0045379 | Aug 2000 | WO |
WO 0191111 | Nov 2001 | WO |
WO-0241302 | May 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20040225505 A1 | Nov 2004 | US |