The present invention relates to systems and methods for processing signals, and more specifically to a system and method for time-domain decorrelation for sound field widening, elimination of audio artifacts and other suitable purposes.
Systems and methods for processing signals are known in the art. Decorrelation in particular has been achieved in a variety of ways, both by all pass filter and by filters containing both frequency and phase shaping. In the past, all pass filters have been used to decorrelate signals to some extent, however with uncompensated inter-channel delay and without an ability to change the amount of decorrelation in a simple fashion.
A system and method are provided that create a varying phase shift as a function of frequency for different channels of audio data to eliminate phase correlations between channels of audio data.
In particular, a system and method are provided that can be used to widen the perceived sound field, eliminate audio artifacts and perform other suitable functions by eliminating undesired time-domain correlations between channels of audio data.
In accordance with an exemplary embodiment of the invention, a system for decorrelating signals is provided. The system includes a first all pass filter, having a first delay length, processing a first signal. A second all pass filter, having a second delay length, is connected to the first all pass filter and processes the first signal after processing by the first all pass filter. A third all pass filter, having a third delay length, processes a second signal. A fourth all pass filter, having a fourth delay length, is connected to the third all pass filter and processes the second signal after processing by the third all pass filter. The first delay length, the second delay length, the third delay length and the fourth delay length each have a unique value, and the sum of the first delay length and the second delay length is equal to the sum of the third delay length and the fourth delay length.
Those skilled in the art will further appreciate the advantages and superior features of the invention together with other important aspects thereof on reading the detailed description that follows in conjunction with the drawings.
In the description which follows, like parts are marked throughout the specification and drawing with the same reference numerals, respectively. The drawing figures may not be to scale and certain components may be shown in generalized or schematic form and identified by commercial designations in the interest of clarity and conciseness.
System 100 includes all pass filter L1102, all pass filter L2104, all pass filter L3106 and all pass filter L4108, each of which can be implemented in hardware, software, or a suitable combination of hardware and software, and can be one or more software systems operating on a general purpose processing platform. As used herein, “hardware” can include a combination of discrete components, an integrated circuit, an application-specific integrated circuit, a field programmable gate array, or other suitable hardware. As used herein, “software” can include one or more objects, agents, threads, lines of code, subroutines, separate software applications, two or more lines of code or other suitable software structures operating in two or more software applications or on two or more processors, or other suitable software structures. In one exemplary embodiment, software can include one or more lines of code or other suitable software structures operating in a general purpose software application, such as an operating system, and one or more lines of code or other suitable software structures operating in a specific purpose software application.
All pass filter L1102 is coupled to all pass filter L2104, and all pass filter L3106 is coupled to all pass filter L4108. As used herein, the term “coupled” and its cognate terms such as “couples” or “couple,” can include a physical connection (such as a wire, optical fiber, or a telecommunications medium), a virtual connection (such as through assigned memory locations of a data memory device or a hypertext transfer protocol (HTTP) link), a logical connection (such as through one or more semiconductor devices in an integrated circuit), or other suitable connections.
System 100 receives left channel audio data and right channel audio data, which can be a series of digital time domain samples of audio data or other suitable audio data. The left channel audio data is provided to all pass filter L1102, which has a delay length of L1. In one exemplary embodiment, where the audio data is digital time domain samples of an audio signal, the delay length L1 can be equal to the number of samples in the delay element of all pass filter L1102. After the left channel audio data is processed with all pass filter L1102, the processed data is then provided to all pass filter L2104, which has a delay length L2 that is different from delay length L1. The processed left channel audio data is then output, such as to speakers, for recordings or for other suitable applications.
The right channel audio data is likewise provided to all pass filter L3106, which has a delay length L3 that is not equal to either delay length L1 or L2. The processed right channel data is then provided to all pass filter L4108, which has a delay length L4 that is not equal to any of delay lengths L1, L2 or L3. The processed right channel data is then output, such as to speakers, for recording, transmission, rendering in headphones or for other suitable applications.
In one exemplary embodiment, all pass filter L1102, all pass filter L2104, all pass filter L3106 and all pass filter L4108 can each be sparse Nth order pole zero filters having an impulse response that is determined by the filter coefficients. The delay lengths of all pass filter L1102, all pass filter L2104, all pass filter L3106 and all pass filter L4108 are selected so that the total delay length of a signal processed by all pass filter L1102 and all pass filter L2104 is the same as the total delay length of a signal processed by all pass filter L3106 and all pass filter L4108. In one exemplary embodiment, the delay lengths of all pass filter L1102 and all pass filter L3106 can be a first prime pair, and the delay lengths of all pass filter L2104 and all pass filter L4108 can be a second prime pair, such that the total length of the all pass filters can be set to an equal value by selection of suitable prime pairs. In one exemplary embodiment, the delay lengths of the first prime pair can be 41 and 43 and the delay lengths of the second prime pair can be 71 and 73, such that all pass filter L1102 can have a delay length of 41 and all pass filter L2104 can have a delay length of 73, and all pass filter L3106 can have a delay length of 43 and all pass filter L4108 can have a delay length of 71. In this manner, the overall processing delay for both the left channel audio data (41+73) and the right channel audio data (43+71) will be equal (114).
In operation, the all pass filters create a phase shift in the left channel audio data and right channel audio data that depends on the frequency and the length of the all pass filters. Because the phase shift created by each all pass filter is different, any pre-existing phase correlations between the left channel audio data and the right channel audio data will be eliminated, which results in the apparent widening of the sound field to a listener, such as when the signals are amplified and transmitted over loudspeakers. Because correlation between the phase of individual frequency bins can result in the apparent location of that frequency bin as being in the center between the left and right channel speaker, decorrelation of such frequencies will widen the apparent sound field. In other words, correlation in phase results in a collapse of the sound field towards the center of the left and right channel speaker, whereas decorrelation in phase avoids the collapse of the sound field towards the center of the left and right channel speaker. Additional all pass filters can also or alternatively be utilized to create additional phase decorrelation, where suitable.
Furthermore, it is possible to connect two different pairs of sections to each channel, and to modulate the filter coefficients while keeping the coefficients for one pair in quadrature with those of the other pair, so as to modulate the decorrelation by a third signal, creating a time-varying change in the phase shifts. This third signal can be a sine wave of low frequency, a narrowband noise signal of low frequency or other suitable signals, such that reflection and cancellation patterns within a room or a listening environment are made to move about the room in a fashion preventing the human auditory system from strongly noticing the cancellations or reflections.
System 200 includes a plurality of channels of audio data from first audio channel, second audio channel, to an Nth audio channel. All pass filter L1202 having a delay length of L1 and all pass filter L2204 having a delay length of L2 are used to process the first audio channel, and all pass filter L3206 having a delay length of L3 and all pass filter L4208 having a delay length of L4 are used to process the second audio channel. Likewise, each additional audio channel is processed by different all pass filters having different delay lengths, until the last or Nth audio channel is processed by all pass filter L2N 210 having a delay length of L2N and all pass filter L2N+1 212 having a delay length of L2N+1. The individual delay lengths of each of the all pass filters are different, but the total delay length of each channel is equal. In this manner, the phase shift applied to each of the individual frequency bins of each channel of audio data will be decorrelated, which can be used to avoid creation of audio artifacts, to prevent audio artifacts from being generated in a recording studio environment, such as where different microphones are used to record sound from the different parts of a recording sound stage, or in other suitable applications.
System 300 includes summation unit 302, gain unit 306, gain unit 310, delay 304, and summation unit 308, which form an all pass filter configuration that may be referred to as a Schroeder section, and which provides an all pass filter of length L1 when the gain factors of gain unit 306 and gain unit 310 are equal and opposite in sign, and which will pass all frequencies but will also add a phase shift depending on the frequency being passed, the delay, and the gain factor of gain unit 306 and gain unit 310. By selecting suitable values for the length of the delay and the gain of gain unit 306 and gain unit 310, the amount of phase shift at each frequency can be controlled. In one exemplary embodiment, by setting the gain of gain unit 306 equal to +0.25 and the gain of gain unit 310 equal to −0.25, the amount of phase shift, such as for audio signals from 0 hertz to 20,000 hertz, will vary in a predetermined manner for a given delay value between −180 degrees to +180 degrees, such that a frequency dependent phase shift will be generated in the processed signal. The delay length L1 can be selected based on a number of sampled signals that are processed and the sample rate. In one exemplary embodiment, digital audio signals that are sampled at a rate of 44.1 kHz can be processed, where the length of the delay L1 is equal to the number of samples divided by 44,100, or can alternatively be specified by the integer number of samples processed.
Likewise, a second all pass filter is provided using summation unit 312, gain units 316 and 320, delay 314 with length L2, and summation unit 318. The phase modified signal received from the first all pass filter is then modified by the second all pass filter, which has different phase shift characteristics based on the delay length L2 and the amplitude settings of gain units 316 and 320.
Likewise, for the Nth channel processing chain, summation units 322 and 328, gain units 326 and 330, and delay 324 are used to form a first all pass filter having a delay length of 2N, and summation units 332 and 338, gain units 336 and 340, and delay 334 are used to form a second all pass filter having a delay length of 2N+1. The delay length of delay 324 and 334 are different from the delay length of delays 304 and 314, but the total delay for each filter chain is equal, such that the total delay length of delay 304 and 314 equals the total delay length of delay 324 and 334. In this manner, sound being processed from the first channel to the Nth channel will be phase shifted so as to eliminate any inadvertent phase correlation and thus widen the perceived sound field where the sound is being provided to speakers, to decorrelate any inadvertent phase correlations and reduce audio artifacts, such as where the sound is being recorded, and for other suitable purposes.
Any suitable all pass filter may be substituted, with proper mathematical treatment, for the Schroeder sections discussed above.
Method 400 begins at steps 402 and 404 in parallel, where a first channel data stream is received at 402 and an Nth channel data stream is received at 404. Likewise, additional channels can also be separately received, so that any suitable number of channels can be processed using method 400.
The method then proceeds to 406 and 408 in parallel, where the first channel data is processed with an all pass filter having a delay length of L1, and the Nth channel data is processed with an all pass filter having a delay length of 2N. Likewise, additional channels can be provided, each channel having a delay length that is different from the delay length of the all pass filter for any other channel. The method then proceeds to 410 and 412 in parallel.
At 410, the first channel data that has been processed with all pass filter L1 is then processed with all pass filter L2, and at 412 the Nth channel data that has been processed with all pass filter L2N is processed with all pass filter L2N+1. Likewise, additional channels can each be processed by a corresponding second all pass filter, where the lengths of each of the corresponding second all pass filters are different from the lengths of the other second all pass filters. Nevertheless, the sum of the delay lengths of the first and second all pass filters for any channel of audio data should equal the sum of the delay lengths of the all pass filters for all other channels, so as to avoid loss of synchronization between the channels when real-time processing is performed. When the audio data is being processed for storage, the delay lengths for each filter chain can be different as long as the processed audio data for each channel is subsequently correlated so as to allow the audio data for each of the channels to be synchronized. The method then proceeds to 414 and 416 in parallel.
At 414 and 416, the phase modified first channel data is output and the phase modified Nth channel of data is output. Likewise, additional channels can be output. In this manner, the data can be provided to speakers, so as to generate an audio signal that has an apparent sound field that is wider than the unprocessed audio signal, where phase correlations between frequency bends of each channel can cause the sound field to collapse towards the center. Likewise, the decorrelated audio channels can be recorded for subsequent processing, such as mixing, or other suitable purposes.
In operation, method 400 can be used to decorrelate the phase of channels of data, such as to widen the apparent sound field to a listener, to avoid creation of audio artifacts, or for other suitable purposes. Although two exemplary filter stages are disclosed, additional filter stages can also or alternatively be used where suitable, as long as the delay length of each filter chain is the same for each channel of data.
System 500 includes summation units 502 and 508, gain units 506 and 510 and delay 504, having a length of 2N. Likewise, a second all pass filter unit is comprised of summation units 512 and 518, gain units 516 and 520, and delay 514, having a length of 2N+1. Although a single Nth channel filter chain is shown, a suitable number of channels can be selected, as long as each have a total delay length that is equal to the delay length of each other filter chain, but where the length of any individual delay unit 504 and 514 is different from each other delay unit.
In operation, system 500 provides a different architecture for performing stereo or multi channel phase decorrelation. By selecting suitable gain values and different delay lengths, each all pass filter will create phase variations as a function of frequency in the processed signal that are different from the phase variations of the other all pass filters, so as to eliminate unwanted phase correlation. System 500 can be used for sound field widening, elimination of audio artifacts, or other suitable purposes. Additional filters can also or alternatively be added to the filter chain, so long as the total delay lengths of all filter chains are equal.
System 700 includes summation unit 702, gain unit 706, gain unit 710, delay 704, and summation unit 708, which form an all pass filter configuration that may be referred to as a Schroeder section, and which provides an all pass filter of length L1 when the gain factors of gain unit 706 and gain unit 710 are equal and opposite in sign, and which will pass all frequencies but will also add a phase shift depending on the frequency being passed, the delay, and the gain factor of gain unit 706 and gain unit 710. Likewise, a second all pass filter is provided using summation unit 712, gain units 716 and 720, delay 714 with length L2, and summation unit 718. The phase modified signal received from the first all pass filter is then modified by the second all pass filter, which has different phase shift characteristics based on the delay length L2 and the amplitude settings of gain units 716 and 720.
Gain modulation units 722 and 724 are used to change the filter coefficients, such as by ramping them between −0.25 and 0.25 or other suitable values. The coefficients for one pair of gain units are maintained in quadrature with those of the other pair, so as to modulate the decorrelation by a third signal, creating a time-varying change in the phase shifts. This third signal can be a low frequency sine wave, a narrowband noise signal of low frequency, or other suitable signals. In this manner, reflection and cancellation patterns within a room or a listening environment are moved relative to the listener so as to prevent the listener's auditory system from perceiving the cancellations or reflections. While two gain modulation units are shown, a single unit or other suitable numbers of units can also or alternatively be used.
In view of the above detailed description of the present invention and associated drawings, other modifications and variations are apparent to those skilled in the art. It is also apparent that such other modifications and variations may be effected without departing from the spirit and scope of the present invention.