1. Field of the Invention
The present invention relates generally to audio processing. More specifically, the present invention relates to reconstructing decomposed audio signals.
2. Related Art
Presently, filter banks are commonly used in signal processing to decompose signals into sub-components, such as frequency subcomponents. The sub-components may be separately modified and then be reconstructed as a modified signal. Due to a cascaded nature of the filter bank, the sub-components of the signal may have successive lags. In order to realign the sub-components for reconstruction, delays may be applied to each sub-component. As such, the sub-components may be aligned with a sub-component having the greatest lag. Unfortunately, this process introduces latency between the modified signal and the original signal that is, at a minimum, equal to that greatest lag.
In real-time applications, like telecommunications for example, excessive latency may unacceptably hinder performance. Standards, such as those specified by the 3rd Generation Partner Project (3GPP), require latency below a certain level. In an effort to reduce latency, techniques have been developed at the cost of performance by prior art systems.
Embodiments of the present invention provide systems and methods for reconstructing decomposed audio signals. In exemplary embodiments, a decomposed audio signal is received from a filter bank. The decomposed audio signal may comprise a plurality of frequency sub-band signals having successively shifted group delays as a function of frequency. The plurality of frequency sub-band signals may be grouped into two or more groups. According to exemplary embodiments, the two or more groups may not overlap.
A delay function may be applied to at least one of the two or more groups. In exemplary embodiments, applying the delay function may realign the group delays of the frequency sub-band signals in at least one of the two or more groups. The delay function, in some embodiments, may be based, at least in part, on a psychoacoustic model. Furthermore, the delay function may be defined using a delay table.
The groups may then be combined to reconstruct the audio signal. In some embodiments, one or more of a phase or amplitude of each of the plurality of frequency sub-band signals may be adjusted. The combining may comprise summing the two or more groups. Finally, the audio signal may be outputted.
Embodiments of the present invention provide systems and methods for reconstructing a decomposed audio signal. Particularly, these systems and methods reduce latency while substantially preserving performance. In exemplary embodiments, sub-components of a signal received from a filter bank are disposed into groups and delayed in a discontinuous manner, group by group, prior to reconstruction.
Referring to
In exemplary embodiments, 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 received from 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 the 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 exemplary 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-components or sub-band signals. In exemplary embodiments, each sub-band signal represents a frequency component and is termed as a frequency sub-band. The analysis filter bank module 110 may include many different types of filter banks and filters in accordance with various embodiments (not depicted in
In some embodiments, the analysis filter bank module 110 may include a plurality of complex-valued filters. These filters may be first order filters (e.g., single pole, complex-valued) to reduce computational expense as compared to second and higher order filters. Additionally, the filters may be infinite impulse response (IIR) filters with cutoff frequencies designed to produce a desired channel resolution. In some embodiments, the filters may perform Hilbert transforms with a variety of coefficients upon the complex audio signal in order to suppress or output signals within specific frequency sub-bands. In other embodiments, the filters may perform fast cochlear transforms. The filters may be organized into a filter cascade whereby an output of one filter becomes an input in a next filter in the cascade, according to various embodiments. Sets of filters in the cascade may be separated into octaves. Collectively, the outputs of the filters represent the frequency sub-band components of the audio signal.
The exemplary modification module 112 receives each of the frequency sub-band signals over respective analysis paths from the analysis filter bank module 110. The modification module 112 can modify/adjust the frequency sub-band signals based on the respective analysis paths. In one example, the modification module 112 suppresses noise from frequency sub-band signals received over specific analysis paths. In another example, a frequency sub-band signal received from specific analysis paths may be attenuated, suppressed, or passed through a further filter to eliminate objectionable portions of the frequency sub-band signal.
The reconstruction module 114 reconstructs the modified frequency sub-band signals into a reconstructed audio signal for output. In exemplary embodiments, the reconstruction module 114 performs phase alignment on the complex frequency sub-band signals, performs amplitude compensation, cancels complex portions, and delays remaining real portions of the frequency sub-band signals during reconstruction in order to improve resolution or fidelity of the reconstructed audio signal. The reconstruction module 114 will be discussed in more detail 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. For example, the audio sink 108 may comprise a disk device, wherein the reconstructed audio signal may be stored onto a hard disk or other storage 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
The grouping sub-module 202 may be configured to group the plurality of frequency sub-band signals into two or more groups. In exemplary embodiments, the frequency sub-band signals embodied within each group include frequency sub-band signals from adjacent frequency bands. In some embodiments, the groups may overlap. That is, one or more frequency sub-band signals may be included in more than one group in some embodiments. In other embodiments, the groups do not overlap. The number of groups designated by the grouping sub-module 202 may be optimized based on computational complexity, signal quality, and other considerations. Furthermore, the number of frequency sub-bands included in each group may vary from group to group or be the same for each group.
The delay sub-module 204 may be configured to apply a delay function to at least one of the two or more groups. The delay function may determine a period of time to delay each frequency sub-band signal included in the two or more groups. In exemplary embodiments, the delay function is applied to realign group delays of the frequency sub-band signals in at least one of the two or more groups. The delay function may be based, at least in part, on a psychoacoustic model. Generally speaking, psychoacoustic models treat subjective or psychological aspects of acoustic phenomena, such as perception of phase shift in audio signals and sensitivity of a human ear. Additionally, the delay function may be defined using a delay table, as further described in connection with
The adjustment sub-module 206 may be configured to adjust one or more of a phase or amplitude of the frequency sub-band signals. In exemplary embodiments, these adjustments may minimize ripples, such as in a transfer function, produced during reconstruction. The phase and amplitude may be derived for any sample by the adjustment sub-module 206. 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. According to some embodiments, the adjustment sub-module 206 is configured to cancel, or otherwise remove, the imaginary portion of each frequency sub-band signal.
The combination sub-module 208 may be configured to combine the groups to reconstruct the audio signal. According to exemplary embodiments, real portions of the frequency sub-band signals are summed to generate a reconstructed audio signal. Other methods for reconstructing the audio signal, however, may be used by the combination sub-module 208 in alternative embodiments. The reconstructed audio signal may then be outputted by the audio sink 108 or be subjected to further processing.
The frequency sub-band signals, as received by the grouping sub-module 202, have successively shifted group delays as a function of frequency, as illustrated by plotted curves associated with each of the frequency sub-band signals. The curves are centered about time τ1-τn for frequency sub-band signals S1-Sn, respectively. Relative to the frequency sub-band signal S1, each successive frequency sub-band signal Sx lags by a time τ(Sx)=τx-τ1, where x=2, 3, 4, . . . , n. For example, frequency sub-band signal S6 lags frequency sub-band signal S1 by a time τ(S6)=τ6-τ1. Actual values of the lag times τ(Sx) may depend on which types of filters are included in the analysis filter bank module 110, delay characteristics of such filters, how the filters are arranged, and a total number of frequency sub-band signals, among other factors.
As depicted in
After the frequency sub-band signals S1-Sn are divided into groups by the grouping sub-module 202, the delay sub-module 204 may apply delays d1-dn to the frequency sub-band signals S1-Sn. As depicted, the frequency sub-band signals included in each group are delayed so as to be aligned with the frequency sub-band signal having the greatest lag time τ(Sx) within the group. For example, the frequency sub-band signals S1 and S2 are delayed to be aligned with the frequency sub-band signal S3. The frequency sub-band signals S1-Sn are delayed as described in Table 1.
It is noted that for full delay compensation of all of the frequency sub-band signals, a delay function 404 may be invoked, wherein the delay function 404 coincides with the delay function 402c. The full delay compensation would result in the frequency sub-band signals S1-Sn-1 being delayed so as to be aligned with the frequency sub-band signal Sn.
Again referring to
The combination sub-module 208, as depicted in
In step 602, a decomposed audio signal is received from a filter bank, wherein the decomposed audio signal comprises a plurality of frequency sub-band signals having successively shifted group delays as a function of frequency. An example of the successively shifted group delays is illustrated by the plotted curves associated with the frequency sub-band signals S1-Sn shown in
In step 604, the plurality of frequency sub-band signals is grouped into two or more groups. According to exemplary embodiments, the grouping sub-module 202 may perform step 604. In addition, any number of the plurality of frequency sub-band signals may be included in any one given group. Furthermore, the groups may be overlapping or non-overlapping and include frequency sub-band signals from adjacent frequency bands, in accordance with various embodiments.
In step 606, a delay function is applied to at least one of the two or more groups. The delay sub-module 204 may apply the delay function to at least one of the two or more groups in exemplary embodiments. As illustrated in connection with
In step 608, the groups are combined to reconstruct the audio signal. In accordance with exemplary embodiments, the combination sub-module 208 may perform the step 608. The real portions of the plurality of frequency sub-band signals may be summed to reconstruct the audio signal in some embodiment. In other embodiments, however, various methods for reconstructing the audio signal may also be used.
In step 610, the audio signal is outputted. According to some embodiments, the audio signal may be outputted by the audio sink 108. In other embodiments, the audio signal may be subjected to further processing.
The above-described engines, modules, and sub-modules may be comprised of instructions that are stored in storage media such as a machine readable medium (e.g., a computer readable medium). The instructions may be retrieved and executed by a processor. Some examples of instructions include software, program code, and firmware. Some examples of storage media comprise memory devices and integrated circuits. The instructions are operational when executed by the processor to direct the processor to operate in accordance with embodiments of the present invention. Those skilled in the art are familiar with instructions, processors, and storage media.
The present invention has 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-in-part and claims the priority benefit of U.S. patent application Ser. No. 11/441,675 filed May 25, 2006 and entitled “System and Method for Processing an Audio Signal,” the disclosure of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 11441675 | May 2006 | US |
Child | 12319107 | US |