1. Field of the Invention
Embodiments of the present invention are related to audio processing, and more particularly to the analysis of audio signals.
2. Related Art
There are numerous solutions for splitting an audio signal into sub-bands and deriving frequency-dependent amplitude and phase characteristics varying over time. Examples include windowed fast Fourier transform/inverse fast Fourier transform (FFT/IFFT) systems as well as parallel banks of finite impulse response (FIR) and infinite impulse response (IIR) filter banks. These conventional solutions, however, all suffer from deficiencies.
Disadvantageously, windowed FFT systems only provide a single, fixed bandwidth for each frequency band. Typically, a bandwidth which is applied from low frequency to high frequency is chosen with a fine resolution at the bottom. For example, at 100 Hz, a filter (bank) with a 50 kHz bandwidth is desired. This means, however, that at 8 kHz, a 50 Hz bandwidth is used where a wider bandwidth such as 400 Hz may be more appropriate. Therefore, flexibility to match human perception cannot be provided by these systems.
Another disadvantage of windowed FFT systems is that inadequate fine frequency resolution of sparsely sampled windowed FFT systems at high frequencies can result in objectionable artifacts (e.g., “musical noise”) if modifications are applied, (e.g., for noise suppression). The number of artifacts can be reduced to some extent by dramatically reducing the number of samples of overlap between the windowed frames size “FFT hop size” (i.e., increasing oversampling). Unfortunately, computational costs of FFT systems increase as oversampling increases. Similarly, the FIR subclass of filter banks are also computationally expensive due to the convolution of the sampled impulse responses in each sub-band which can result in high latency. For example, a system with a window of 256 samples will require 256 multiplies and a latency of 128 samples, if the window is symmetric.
The IIR subclass is computationally less expensive due to its recursive nature, but implementations employing only real-valued filter coefficients present difficulties in achieving near-perfect reconstruction, especially if the sub-band signals are modified. Further, phase and amplitude compensation as well as time-alignment for each sub-band is required in order to produce a flat frequency response at the output. The phase compensation is difficult to perform with real-valued signals, since they are missing the quadrature component for straight-forward computation of amplitude and phase with fine time-resolution. The most common way to determine amplitude and frequency is to apply a Hilbert transform on each stage output. But an extra computation step is required for calculating the Hilbert transform in real-valued filter banks, and is computationally expensive.
Therefore, there is a need for systems and methods for analyzing and reconstructing an audio signal that is computationally less expensive than existing systems, while providing low end-to-end latency, and the necessary degrees of freedom for time-frequency resolution.
Embodiments of the present invention provide systems and methods for audio signal processing. In exemplary embodiments, a filter cascade of complex-valued filters is used to decompose an input audio signal into a plurality of sub-band signals. In one embodiment, an input signal is filtered with a complex-valued filter of the filter cascade to produce a first filtered signal. The first filtered signal is subtracted from the input signal to derive a first sub-band signal. Next, the first filtered signal is processed by a next complex-valued filter of the filter cascade to produce a next filtered signal. The processes repeat until the last complex-valued filters in the cascade has been utilized. In some embodiments, the complex-valued filters are single pole, complex-valued filters.
Once the input signal is decomposed, the sub-band signals may be processed by a reconstruction module. The reconstruction module is configured to perform a phase alignment on one or more of the sub-band signals. The reconstruction module may also be configured to perform amplitude compensation on one or more of the sub-band signals. Further, a time delay may be performed on one or more of the sub-band signals by the reconstruction module. Real portions of the compensated and/or time delayed sub-band signals are summed to generate a reconstructed audio signal.
Embodiments of the present invention provide systems and methods for near perfect reconstruction of an audio signal. The exemplary system utilizes a recursive filter bank to generate quadrature outputs. In exemplary embodiments, the filter bank comprises a plurality of complex-valued filters. In further embodiments, the filter bank comprises a plurality of single pole, complex-valued filters.
Referring to
The system 100 comprises an audio processing engine 102, an audio source 104, a conditioning module 106, and an audio sink 108. Further components not related to reconstruction of the audio signal may be provided in the system 100. Additionally, while the system 100 describes a logical progression of data from each component of
The exemplary audio processing engine 102 processes the input (audio) signals inputted via the audio source 104. In one embodiment, the audio processing engine 102 comprises software stored on a device which is operated upon by a general processor. The audio processing engine 102, in various embodiments, comprises an analysis filter bank module 110, a modification module 112, and a reconstruction module 114. It should be noted that more, less, or functionally equivalent modules may be provided in the audio processing engine 102. For example, one or more modules 110-114 may be combined into few modules and still provide the same functionality.
The audio source 104 comprises any device which receives input (audio) signals. In some embodiments, the audio source 104 is configured to receive analog audio signals. In one example, the audio source 104 is a microphone coupled to an analog-to-digital (A/D) converter. The microphone is configured to receive analog audio signals while the A/D converter samples the analog audio signals to convert the analog audio signals into digital audio signals suitable for further processing. In other examples, the audio source 104 is configured to receive analog audio signals while the conditioning module 106 comprises the A/D converter. In alternative embodiments, the audio source 104 is configured to receive digital audio signals. For example, the audio source 104 is a disk device capable of reading audio signal data stored on a hard disk or other forms of media. Further embodiments may utilize other forms of audio signal sensing/capturing devices.
The conditioning module 106 pre-processes the input signal (i.e., any processing that does not require decomposition of the input signal). In one embodiment, the conditioning module 106 comprises an auto-gain control. The conditioning module 106 may also perform error correction and noise filtering. The conditioning module 106 may comprise other components and functions for pre-processing the audio signal.
The analysis filter bank module 110 decomposes the received input signal into a plurality of sub-band signals. In some embodiments, the outputs from the analysis filter bank module 110 can be used directly (e.g., for a visual display). The analysis filter bank module 110 will be discussed in more detail in connection with
The exemplary modification module 112 receives each of the sub-band signals over respective analysis paths from the analysis filter bank module 110. The modification module 112 can modify/adjust the sub-band signals based on the respective analysis paths. In one example, the modification module 112 filters noise from sub-band signals received over specific analysis paths. In another example, a sub-band signal received from specific analysis paths may be attenuated, suppressed, or passed through a further filter to eliminate objectionable portions of the sub-band signal.
The reconstruction module 114 reconstructs the modified sub-band signals into a reconstructed audio signal for output. In exemplary embodiments, the reconstruction module 114 performs phase alignment on the complex sub-band signals, performs amplitude compensation, cancels the complex portion, and delays remaining real portions of the sub-band signals during reconstruction in order to improve resolution of the reconstructed audio signal. The reconstruction module 114 will be discussed in more details in connection with
The audio sink 108 comprises any device for outputting the reconstructed audio signal. In some embodiments, the audio sink 108 outputs an analog reconstructed audio signal. For example, the audio sink 108 may comprise a digital-to-analog (D/A) converter and a speaker. In this example, the D/A converter is configured to receive and convert the reconstructed audio signal from the audio processing engine 102 into the analog reconstructed audio signal. The speaker can then receive and output the analog reconstructed audio signal. The audio sink 108 can comprise any analog output device including, but not limited to, headphones, ear buds, or a hearing aid. Alternately, the audio sink 108 comprises the D/A converter and an audio output port configured to be coupled to external audio devices (e.g., speakers, headphones, ear buds, hearing aid).
In alternative embodiments, the audio sink 108 outputs a digital reconstructed audio signal. In another example, the audio sink 108 is a disk device, wherein the reconstructed audio signal may be stored onto a hard disk or other medium. In alternate embodiments, the audio sink 108 is optional and the audio processing engine 102 produces the reconstructed audio signal for further processing (not depicted in
Referring now to
In exemplary embodiments, the filters 204 are organized into a filter cascade whereby an output of one filter 204 becomes an input in a next filter 204 in the cascade. Thus, the input signal 202 is fed to a first filter 204a. An output signal, P1, of the first filter 204a is subtracted from the input signal 202 by a first computation node 206a to produce an output D1. The output D1 represents the difference signal between the signal going into the first filter 204a and the signal after the first filter 204a.
In alternative embodiments, benefits of the filter cascade may be realized without the use of the computation node 206 to determine sub-band signals. That is, the output of each filter 204 may be used directly to represent energy of the signal at the output or be displayed, for example.
Because of the cascade structure of the analysis filter bank module 110, the output signal, P1, is now an input signal into a next filter 204b in the cascade. Similar to the process associated with the first filter 204a, an output of the next filter 204b (i.e., P2) is subtracted from the input signal P1 by a next computation node 206b to obtain a next frequency band or channel (i.e., output D2). This next frequency channel emphasizes frequencies between cutoff frequencies of the present filter 204b and the previous filter 204a. This process continues through the remainder of the filters 204 of the cascade.
In one embodiment, sets of filters in the cascade are separated into octaves. Filter parameters and coefficients may then be shared among corresponding filters (in a similar position) in different octaves. This process is described in detail in U.S. patent application Ser. No. 09/534,682.
In some embodiments, the filters 204 are single pole, complex-valued filters. For example, the filters 204 may comprise first order digital or analog filters that operate with complex values. Collectively, the outputs of the filters 204 represent the sub-band components of the audio signal. Because of the computation node 206, each output represents a sub-band, and a sum of all outputs represents the entire input signal 202. Since the cascading filters 204 are first order, the computational expense may be much less than if the cascading filters 204 were second order or more. Further, each sub-band extracted from the audio signal can be easily modified by altering the first order filters 204. In other embodiments, the filters 204 are complex-valued filters and not necessarily single pole.
In further embodiments, the modification module 112 (
In exemplary embodiments, the filters 204 are infinite impulse response (IIR) filters with cutoff frequencies designed to produce a desired channel resolution. The filters 204 may perform successive Hilbert transformations with a variety of coefficients upon the complex audio signal in order to suppress or output signals within specific sub-bands.
In the present embodiment, “g” is a gain factor. It should be noted that the gain factor can be applied anywhere that does not affect the pole and zero locations. In alternative embodiments, the gain may be applied by the modification module 112 (
Referring now to
In some embodiments, it is desirable to have a wide frequency response at high frequencies and a narrow frequency response at low frequencies. Because embodiments of the present invention are adaptable to many audio sources 104 (
Referring now to
Because the filters use complex signals (e.g., real and imaginary parts), phase may be derived for any sample. Additionally, amplitude may also be calculated by A=√{square root over (((yreal[n])2+(yimag[n])2))}{square root over (((yreal[n])2+(yimag[n])2))}. Thus, the reconstruction of the audio signal is mathematically made easier. As a result of this approach, the amplitude and phase for any sample is readily available for further processing (i.e., to the modification module 112 (
Since the impulse responses of the sub-band signals may have varying group delays, merely summing up the outputs of the analysis filter bank module 110 (
In an embodiment where the impulse response waveform maximum is later in time than the desired group delay, the filter output is multiplied with a complex constant such that the real part of the impulse response has a local maximum at the desired group delay.
As shown, sub-band signals 602 (e.g., S0, Sn, and Sm) are received by the reconstruction module 114 from the modification module 112 (
Each real portion of the sub-band signal is then delayed by a delay Z−1 608. This delay allows for cross sub-band alignment. In one embodiment, the delay Z−1 608 provides a one tap delay. After the delay, the respective sub-band signal is summed in a summation node 610, resulting in a value. The partially reconstructed signal is then carried into a next summation node 610 and applied to a next delayed sub-band signal. The process continues until all sub-band signals are summed resulting in a reconstructed audio signal. The reconstructed audio signal is then suitable for the audio sink 108 (
Referring now to
After sub-band decomposition, the sub-band signals are processed through the modification module 112 (
A reconstruction module 114 (
Using the real portion of the compensated sub-band signal, the sub-band signal is delayed for cross-sub-band alignment in step 810. In one embodiment, the delay is obtained by utilizing a delay line in the reconstruction module 114.
In step 812, the delayed sub-band signals are summed to obtain a reconstructed signal. In exemplary embodiments, each sub-band signal/segment represents a frequency.
Embodiments of the present invention have been described above with reference to exemplary embodiments. It will be apparent to those skilled in the art that various modifications may be made and other embodiments can be used without departing from the broader scope of the invention. Therefore, these and other variations upon the exemplary embodiments are intended to be covered by the present invention.
The present application is a continuation of U.S. application Ser. No. 11/441,675 filed on May 25, 2006 entitled “System and Method for Processing an Audio Signal.” The present application is also related to U.S. patent application Ser. No. 10/613,224 entitled “Filter Set for Frequency Analysis” filed Jul. 3, 2003; U.S. patent application Ser. No. 10/613,224 is a continuation of U.S. U.S. patent application Ser. No. 10/074,991, entitled “Filter Set for Frequency Analysis” filed Feb. 13, 2002, which is a continuation of U.S. patent application Ser. No. 09/534,682 entitled “Efficient Computation of Log-Frequency-Scale Digital Filter Cascade” filed Mar. 24, 2000; the disclosures of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 11441675 | May 2006 | US |
Child | 13397597 | US |