One embodiment of the present invention is directed to digital audio signals. More particularly, one embodiment of the present invention is directed to the perceptual normalization of digital audio signals.
Digital audio signals are frequently normalized to account for changes in conditions or user preferences. Examples of normalizing digital audio signals include changing the volume of the signals or changing the dynamic range of the signals. An example of when the dynamic range may be required to be changed is when 24-bit coded digital signals must be converted to 16-bit coded digital signals to accommodate a 16-bit playback device.
Normalization of digital audio signals is often performed blindly on the digital audio source without care for its contents. In most instances, blind audio adjustment results in perceptually noticeable artifacts, due to the fact that all components of the signal are equally altered. One method of digital audio normalization consists of compressing or extending the dynamic range of the digital signal by applying functional transforms to the input audio signal. These transforms can be linear or non-linear in nature. However, the most common methods use a point-to-point linear transformation of the input audio.
Based on the foregoing, there is a need for an improved normalization technique for digital audio signals that reduces or eliminates perceptually noticeable artifacts.
One embodiment of the present invention is a method of normalizing digital audio data by analyzing the data to selectively alter the properties of the audio components based on the characteristics of the auditory system. In one embodiment, the method includes decomposing the audio data into sub-bands as well as applying a psycho-acoustic model to the data. As a result, the introduction of perceptually noticeable artifacts is prevented.
One embodiment of the present invention utilizes perceptual models and “critical bands”. The auditory system is often modeled as a filter bank that decomposes the audio signal into bands called critical bands. A critical band consists of one or more audio frequency components that are treated as a single entity. Some audio frequency components can mask other components within a critical band (intra-masking) and components from other critical bands (inter-masking). Although the human auditory system is highly complex, computational models have been successfully used in many applications.
A perceptual model or Psycho-Acoustic Model (“PAM”) computes a threshold mask, usually in terms of Sound Pressure Level (“SPL”), as a function of critical bands. Any audio component falling below the threshold skirt will be “masked” and therefore will not be audible. Lossy bit rate reduction or audio coding algorithms take advantage of this phenomenon to hide quantization errors below this threshold. Hence, care should be taken in trying not to uncover these errors. Straightforward linear transformations as illustrated above in conjunction with
The incoming digital audio signals are received at input 58. In one embodiment, the digital audio signals are in the form of input audio blocks of N length, x(n) n=0, 1, . . . , N−1. In another embodiment, an entire file of digital audio signals may be processed by normalizer 60.
The digital audio signals are received from input 58 at a sub-band analysis module 52. In one embodiment, sub-band analysis module 52 decomposes the input audio blocks of N length, x(n) n=0, 1, . . . , N−1, into M sub-bands, sb(n) b=0, 1, . . . ,M−1, n=0, 1, . . . , N/M−1, where each sub-band is associated with a critical band. In another embodiment, the sub-bands are not associated with any critical bands.
In one embodiment, sub-band analysis module 52 utilizes a sub-band analysis scheme based on a Wavelet Packet Tree.
Embodiments of a low pass wavelet filter to be used during sub-band analysis can be varied as an optimization parameter, which is dependent on tradeoffs between perceived audio quality and computing performance. One embodiment utilizes Daubechies filters with N=2 (commonly known as the db2 filter), whose normalized coefficients are given by the following sequence, c[n]:
Each sub-band attempts to be co-centered with the human auditory system critical bands. Therefore, a fair straightforward association between the output of a psycho-acoustic model module 51 and sub-band analysis module 52 can be made.
Psycho-acoustic model module 51 also receives the digital audio signals from input 58. A psycho-acoustic model (“PAM”) utilizes an algorithm to model the human auditory system. Many different PAM algorithms are known and can be used with embodiments of the present invention. However, the theoretical basis is the same for most of the algorithms:
One embodiment of PAM module 51 uses the absolute threshold of hearing (or threshold in quiet) to avoid high computational complexity associated with more sophisticated models. The minimum threshold of hearing is given in terms of the Sound Pressure Level (or the log of the Power Spectrum) by the following equation:
T(SPL)=3.64f−0.8−6.5e[−0.6(f−33)
where f is given in kilohertz.
A mapping from frequency in kilohertz into critical bands (or bark rate) is accomplished by the following equations:
fb=13 arctan(0.76f)+3.5 arctan(f/7.5)2 (2)
BW(Hz)=15+75[1+1.4f2] (3)
where BW is the bandwidth of the critical band. Starting at frequency line 0 and creating critical bands so that the upper edge of one band is the lower edge of the next band, the values of the absolute threshold of hearing in equation (1) can be accumulated so that:
where Nb is the number of frequency lines within the critical band, ωl and ωh are the lower and upper bounds for critical band b.
In this embodiment, a real valued FFT of the input audio is computed on overlapping blocks of N input samples; N/2 frequency lines are retained, due to the symmetry properties of the FFT of real valued signals. The Power Spectrum of the input audio is then computed as:
P(ω)=Re(ω)2+Im(ω)2 (5)
The power spectrum of the signal and the masking thresholds (threshold in quiet in this case) are then passed to the next module. The output of PAM module 51 is input to a transformation parameter generation module 53. Transformation parameter generation module 53 receives as an input desired transformation parameters at input 61 that are based on the desired normalization or transformation. In one embodiment, transformation parameter generation module 53 generates dynamic range adjustment parameters, p(b) b=0, 1, . . . , M−1, as a function of critical band according to the masking thresholds and the desired transformation.
In one embodiment, transformation parameter generation module 53 first attempts to provide a quantitative measure of the more dominating critical bands in terms of their volume and masking properties. This qualitative measure is referred to as “Sub-band Dominancy Metric” (“SDM”). Therefore, the dynamic range normalization parameters are “massaged” in order to be less aggressive in the transformation of non-dominant bands that may hide noise or quantization errors.
The SDM is computed as the sum of the absolute differences between the frequency line and the associated masking threshold within a specific critical band:
SDM(b)=MAX[P(ω)−T(b)]ω=ωl→ωh (6)
where ωl and ωh correspond to the lower and upper frequency bounds of critical band b.
Therefore, critical bands whose P(ω) is significantly larger than the masking threshold are considered to be dominant and their SDM will approach infinity, while critical bands whose P(ω) fall below the masking threshold are non-dominant and their SDM will approach negative infinity.
To bind the SDM metric to the range from 0.0 to 1.0, the following equation can be used:
where the parameters γ and δ are optimized depending on the application, e.g. γ=32, δ=2.
Transformation parameter generation module 53, in addition to generating the SDM metrics, also modifies desired input transformation parameters 61. In one embodiment, it will be assumed that a linear transformation of the form:
x′(n)=αx(n)+β (8)
will be carried out on the input signal data. The parameters α and β are either provided by the user/application or automatically computed from the audio signal statistics.
As an example of operation of transformation parameter generation module 53, assume it is desired to normalize the dynamic range of a 16 bit audio signal whose values range from −32768 to 32767. In one embodiment, all audio processed is to be normalized to a range specified by [ref_min, ref_max]. In one example, ref_min=−20000 and ref_max=20000. An automatic method to derive the transformation parameters could be:
Once normalization parameters are determined, they are adjusted according to the SDM. For each sub-band:
Therefore, if SDM for a specific sub-band is equal to 0, as for non-dominant sub-bands, the slope is equal to 1.0 and the intercept is equal to 0. This results in an unchanged sub-band. If SDM is equal 1.0, as for dominant sub-bands, the slope and intercepts will be equal to the original values obtained from equation (9). The parameters p(b) that are to be passed along to sub-band transform modules 54–56 of normalizer 60 are α′(b) and β′(b) for this embodiment.
The outputs from sub-band analysis module 52 and transformation parameter generation module 53 are input to sub-band transform modules 54–56. Sub-band transform modules 54–56 apply the transformation parameters received from transformation parameter generation module 53 to each of the sub-bands received from sub-band analysis module 52. The sub-band transformation is expressed by the following equation (in the embodiment of the linear transformation as presented in Equation (8)):
s′b(n)=α′(b)sb(n)+β′(b) b=0, 1, . . . , M−1; n=0, 1, . . . , N/M−1 (11)
In one embodiment, the outputs of sub-band transform modules 54–56 are the final output of normalizer 60. In this embodiment, the data may be later fed into an encoder, or can be analyzed.
In another embodiment, the outputs of sub-band transform modules 54–56 are received by a sub-band synthesis module 57 which synthesizes the transformed sub-bands, s′b(n) b=0, 1, . . . , M−1, n=0, 1, . . . , N/M−1, to form an output normalized signal, x′(n) at output 59. In one embodiment, sub-band synthesis by sub-band synthesis module 57 is accomplished by inverting the Wavelet Tree structure shown in
Therefore each decimation operation is substituted with an interpolation operation (up-sample and high pass filter) using the complementary wavelet filters.
As described, one embodiment of the present invention is a normalizer that accomplishes time domain transformation of digital audio signals while preventing noticeable audible artifacts from being introduced. Embodiments use a perceptual model of the human auditory system to accomplish the transformations.
Several embodiments of the present invention are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations of the present invention are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention.
Number | Name | Date | Kind |
---|---|---|---|
5285498 | Johnston | Feb 1994 | A |
5632003 | Davidson et al. | May 1997 | A |
5699382 | Shoham et al. | Dec 1997 | A |
5825320 | Miyamori et al. | Oct 1998 | A |
5845243 | Smart et al. | Dec 1998 | A |
5978762 | Smyth et al. | Nov 1999 | A |
6128593 | Hu | Oct 2000 | A |
Number | Date | Country | |
---|---|---|---|
20030223593 A1 | Dec 2003 | US |