This invention relates generally to signal processing, and more particularly, to a multiband phase-vocoder for processing audio or speech signals.
The phase-vocoder has long been a popular tool for high-quality audio effects such as time-scaling, pitch-shifting, analysis/modification/synthesis and so on.
The phase-vocoder is based on calculating Fast Fourier Transforms of overlapping windowed portions of an incoming signal, processing the frequency-domain representation thus obtained, and re-synthesizing an output signal by means of overlapping windowed inverse Fourier transforms. In practice, the bulk of the computation cost lies in the calculations of the (usually) large Fourier transforms (for a 48 kHz audio signal, 4096 point Fourier transforms are typical). The Fourier transforms yield a convenient decomposition of the signal into frequency channels that span the entire frequency range from 0.0 Hz to half the sampling rate. This is usually more than one really needs. For example, audio signals typically have most of their energy in the low frequency area (between 0.0 and 12 kHz for example) and the high-frequencies usually contain incoherent signals (such as noise, transients and so on). Unfortunately, the standard phase-vocoder operates on the entire frequency region, which means that a significant fraction of the computation cost is spent to no benefit.
The present invention offers a way to minimize the computation cost of the phase-vocoder by splitting the incoming signal into a small number of subbands (say 2 to 4) spanning the whole frequency range, and only running the phase vocoder on the signals in the subbands of interest. The other subbands can be processed using different techniques (usually better suited to the kind of signals in these subbands, and also usually much cheaper than the phase-vocoder). Finally, the processed subband signals are merged into the output signal. In practice, the additional cost of the subband splitting is largely offset by the significant savings in the phase-vocoder stage, the savings resulting from the fact that the subband signals have a lower sampling rate than the original signal and can be processed by the phase-vocoder more efficiently.
In one embodiment of the present invention, a method for processing a signal having at least one region of interest is provided. The method begins by dividing the signal into a plurality of sub-band signals, wherein a selected sub-band signal includes the region of interest. The selected sub-band is processed by a phase vocoder to produce a vocoder output signal. Next, at least a portion of the subbands are time-aligned with the vocoder output signal. Finally, the aligned sub-band signals and the vocoder output signal are combined to form an output signal.
The following description describes a system to inexpensively and efficiently process audio and speech signals, wherein a computationally expensive phase-vocoder operates only on selected regions of interest in the input signal.
The invention includes a method for processing a time domain input signal according to the following steps. First, the input signal is split into several time-domain signals corresponding to adjacent frequency subbands. Next, a phase-vocoder processes one or more of the time-domain subband signals. In the meantime, the other time-domain subband signals can be processed by other means. Finally, the processed subband signals are recombined into an output signal.
The analysis filter bank 104 splits the incoming time domain signal 102 into K subband signals (X0(n)-Xk-1(n)). The synthesis filterbank 110 reconstructs the processed subband signals to form the output signal 112. Any type of analysis and synthesis filterbanks can be used, such as perfect-reconstruction or linear-phase filterbanks. However, such filterbanks are not a requirement, since the signals are to be modified anyway, and a certain degree of alteration can be tolerated. Cost effective IIR filterbanks are attractive for their high performance and low computation cost, and their phase non-linearity is usually not a significant problem in the kind of applications that use the phase-vocoder.
In practice, the subbands signals are downsampled to a sampling rate much lower than the input signal's sampling rate. For example, a 2-band analysis filterbank can output 2 subband signals at half the original sampling rate. The downsampling stage is usually included in the analysis filterbank 104, however, it is not shown in FIG. 1.
Because the signal has been split into the subband time-domain signals xk(n), each of the subband signals can be processed using the most appropriate technique. For example, when time-scaling audio signals, one can chose to process the signal in the lowest subband (x0(n)) with a phase-vocoder based time-scaling algorithm. The signals in the higher subband(s) can be processed using a (much more cost-effective) time-domain time-scaling approach. Another option would be to process all the signals with the same time-domain time-scaling algorithm, but with different processing parameters in each subband to account for the different nature of the signals in each of the subbands. This is because the sinusoidal components tend to fall in the low-frequency subbands while high-frequency subbands usually contain more noise-like signals.
For pitch-shifting, one might opt to split the signal into 2 subbands with a cutoff of 8 kHz, and only process the lower subband. The sinusoidal components in the incoming signal would then be pitch-shifted as desired. By contrast, the upper frequency range, which contains noise-like signals, would not be modified, thus preserving the overall brightness of the output signal. When running the phase-vocoder on the subband signals, the size of the Fast Fourier Transform must be adapted to the sampling rate of the subband signals. For example, for a 48 kHz incoming signal that is split into two 24 kHz subband signals, an FFT size of 2048 points would be typical. Because the phase-vocoder is run on a downsampled signal, its cost ends up being a fraction of what it would be if it were run on the original incoming signal. This is where significant savings occurs.
Recombining the subband signals required special consideration. Since different algorithms might be used on the various subband signals, care must be taken to synchronize the modified subband signals before feeding them into the synthesis filterbank 110. For example, the phase-vocoder 106 usually introduces a delay typically equal to half the size of the Fourier transform, while a time-domain algorithm can introduce much smaller delays. If the subband signals are not properly synchronized when input to the synthesis filter bank 110, the resulting modified signal might exhibit unacceptable levels of distortion. The synchronization can be done by calculating the processing delay in each subband, and then equalizing all the delays by means of delay lines 114, as shown in FIG. 1.
At block 202 a time domain signal is input to the analysis filter bank 104. The input includes a frequency region of interest that requires phase-vocoder processing. The input is not constrained to comprise a specific frequency range and may have other regions of interest that are suitable for other types of processing.
At block 204, the input signal is divided into sub-bands by the analysis filter bank 104, wherein each sub-band contains a range of frequencies of the input signal. The sub-bands may comprise adjacent, overlapping or disjoint frequency regions. The sub-bands may also omit frequencies so that some frequency components represented in the input signal do not appear in any of the sub-bands.
At block 206, the sub-bands are distributed from the analysis filter bank 104 for processing by the phase-vocoder 106 and other subband processors. For example, the subband x0(n) is input to the phase-vocoder 106 for processing, while the subband x1(n) is input to the processor 1 for processing. The processor 1 may perform time domain processing, such as signal filtering, on the subband x1(n). The subband x0(n) is processed by the phase-vocoder 106, however, the processing cost to process a subband is far lower than the processing cost to process the entire input signal.
The method continues with a description of the processing of three different sub-bands. However, the present invention can process any number sub-bands, thus the description is not intended to be limiting, but illustrative of the types of processing possible using embodiments of the present invention.
At block 208, the sub-band x0(n) undergoes phase-vocoder processing. For example, pitch shifting or signal harmonizing are just two of the processes that may be performed on the sub-band x0(n) by the phase-vocoder 106.
At block 210, as part of a reconstruction process the output of the phase-vocoder 208 can be optionally delayed by one of the delay blocks 114. This provides a way to compensate for processing delays that may occur in the system. The delay also allows the processed subband output from the phase-vocoder to be synchronized with other processed subbands.
At block 212, the sub-band signal x1(n) is processed. The processing of the sub-band signal x1(n) can be any type of time domain process, such as signal filtering for example. The sub-band signal x1(n) is processed by the processor 1 to form the processed output y1(n).
At block 214, the processed output y1(n) may optionally undergo a delay to compensate for delays occurred during processing. The delay may also synchronize the processed output y1(n) with other subbands.
At block 216, a third sub-band is processed. In this case, the third subband is not required to undergo specific processing, however, it is required to be included in the modified output signal 112. Therefore, the third sub-band signal may only need to go through one of the delay blocks 114 to help synchronize it with other subbands.
At block 218, all the sub-band signals are input to the synthesis filter 110 to combined them to form the output signal 112. Although the output signal 112 comprises all the processed sub-bands, it is not necessary that all the sub-band appear in the output signal 112. Thus, it is possible to divide an input signal into sub-bands, process at least one of the sub-bands using a phase-vocoder (which is cost efficient since the subband is small), process other subbands using other processing techniques, then recombine the sub-bands to create the output signal. It is also possible to create subbands that are not processed at all, but are input to the synthesis filter 110 anyway so that they appear in the output signal 112.
Although described with reference to the specific embodiment of
The controller 302 couples to each of the modules in the processing channel to control the processing of the sub-band signal. The operation of the controller 302 will be described below with respect to each of the modules in the processing channel.
The analysis filter 304 is coupled to receive an input signal 312. The analysis filter 304 filters the input signal to form a subband 314 which is coupled to the phase-vocoder 306. The sub-band 314 includes a region of interest derived from the input signal that contains some or all of the frequency components of the input signal. The region of interest represents a portion of the input signal that is to be processed by the phase-vocoder 306. The controller 302 configures the analysis filter 304 via a filter control line 316 coupled between the controller and the analysis filter 304. The controller configures the analysis filter by setting various filter parameters, such as the pass band, stop band, filter type and so forth.
The phase-vocoder 306 receives and processes the subband 314 to form a vocoder output 318. For example, the phase-vocoder 306 may perform frequency domain processes such as pitch shifting, filtering or signal harmonizing. The results of the processing are provided at the vocoder output 318, which is coupled to the delay 308.
The controller 302 controls the phase-vocoder 306 via a vocoder control line 320 coupled between the controller 302 and the phase-vocoder 306. The controller commands the phase-vocoder to perform selected processing functions based on the type of signal processing desired for the sub-band 314.
The delay 308 receives the vocoder output 318 from the phase-vocoder 308 and optionally delays the signal to form a delay output 324, which synchronizes the output of the processing channel 300 with other subbands. For example, if another subband undergoes processing by another processing channel, then the delay 308 can be used to synchronize the phase-vocoder output 318 with the other subband to prevent distortion when the subbands are recombined.
The delay 308 is further coupled to the controller 302 via a delay control line 322. The controller 302 controls the delay 308 to determine the amount of delay to be applied to the vocoder output 318. The controller has a parameter channel 326 that is used to send and receive parameters with other processing channels, so that based on the parameters received by the controller, the amount of delay can be determined.
Thus, the controller 302 operates to coordinate the entire process of filtering the input to form a subband, phase-vocoding the subband and delaying it. The delay output 324 is thereafter provided to a synthesis filter (not shown) where multiple subbands are combined into an output signal.
The processing channel 300 is a portion of a processing system wherein one or more processing channels are combined. In such a processing system the processing channels each process a subband of the input signal. For example, in another processing channel the phase-vocoder 306 is replaced with processor 328. The processor 328 performs subband processing that is computationally less expensive than the phase-vocoder, such as time domain filtering. In a final stage, the processing system has a synthesis filter to combine all the processed subbands into an output signal.
The present invention provides a method and apparatus for reduced cost phase-vocoding of an input signal. It will be apparent to those with skill in the art that the above methods and embodiments can be modified or combined without deviating from the scope of the present invention. Accordingly, the disclosures and descriptions herein are intended to be illustrative, but not limiting, of the scope of the invention which is set forth in the following claims.
Number | Name | Date | Kind |
---|---|---|---|
3936611 | Poole | Feb 1976 | A |
3995116 | Flanagan | Nov 1976 | A |
4246617 | Portnoff | Jan 1981 | A |
4630300 | Kang et al. | Dec 1986 | A |
4817146 | Szczutkowski et al. | Mar 1989 | A |
4959863 | Azuma et al. | Sep 1990 | A |
5073938 | Galand | Dec 1991 | A |
5226108 | Hardwick et al. | Jul 1993 | A |
5414795 | Tsutsui et al. | May 1995 | A |
5566154 | Suzuki | Oct 1996 | A |
5664051 | Hardwick et al. | Sep 1997 | A |
5687240 | Yoshida et al. | Nov 1997 | A |
5737367 | Wuppermann et al. | Apr 1998 | A |
5737717 | Akagiri et al. | Apr 1998 | A |
5848164 | Levine | Dec 1998 | A |
6112169 | Dolson | Aug 2000 | A |
6323797 | Kikumoto et al. | Nov 2001 | B1 |
6580795 | Li et al. | Jun 2003 | B1 |
6766300 | Laroche | Jul 2004 | B1 |