Patent Publication Number: US-8126173-B2

Title: System and method for expanding multi-speaker playback

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims priority under 35 U.S.C. §119 to Singapore Patent Application No. 200500302-5 filed on Jan. 20, 2005, which is hereby incorporated by reference. 
     TECHNICAL FIELD 
     This disclosure relates generally to sound processing systems and more specifically to a system and method for expanding multi-speaker playback. 
     BACKGROUND 
     Multi-speaker systems are widely available in audio, video, and entertainment systems today. For example, quadratic four-speaker systems and 5.1 systems provide listeners with more enjoyable multi-media experiences compared to traditional stereo systems. However, there are large quantities of stereo audio content that are available and that are currently being produced. This stereo audio content does not fully utilize the advantages of multi-speaker systems such as quadratic four-speaker systems and 5.1 systems. There have been various difficulties in attempting to better utilize multi-speaker systems to give more listening pleasure when reproducing stereo audio content than straightforward stereo playback. 
     Many techniques have been developed to attempt to better render stereo audio content utilizing more than two speakers to create a surrounding sound field. Many of these techniques rely on the belief that in-phase information between two signals should be provided at the center front of a listener, while out-of-phase information should be provided to the rear of the listener. 
     Many of these techniques also suffer from various problems. These problems may include relatively high computational costs, an inability to efficiently handle input signals that have more than one dominant signal, or undesirable effects in the rendering of the stereo audio content (such as unnatural sound effects). Many conventional techniques cannot perform multi-speaker rendition of stereo audio content that achieves good channel separation with minimal and scalable computational costs, while being able to efficiently handle input signals having multiple dominant signals. 
     SUMMARY 
     This disclosure provides a system and method for expanding multi-speaker playback. 
     In a first embodiment, an apparatus includes a band-splitting filter bank for receiving, splitting, and filtering a left input signal and a right input signal into a plurality of frequency sub-bands. Each of the frequency sub-bands includes a left sub-band signal and a right sub-band signal. The apparatus also includes a plurality of synthesis structures each for receiving the left and right sub-band signals associated with one of the frequency sub-bands and for processing the received left and right sub-band signals into a plurality of sub-band channel signals. The plurality of sub-band channel signals includes at least three sub-band channel signals. Corresponding sub-band channel signals from the synthesis structures are summed and provided on an output channel. 
     In particular embodiments, the plurality of sub-band channel signals includes a left sub-band channel signal, a right sub-band channel signal, a center sub-band channel signal, a left surround sub-band channel signal, and a right surround sub-band channel signal. 
     In a second embodiment, a method includes splitting and filtering a left input signal and a right input signal to produce a plurality of frequency sub-bands. Each of the frequency sub-bands includes a left sub-band signal and a right sub-band signal. The method also includes processing the left and right sub-band signals associated with each of the frequency sub-bands into a plurality of sub-band channel signals. The plurality of sub-band channel signals includes at least three sub-band channel signals. In addition, the method includes summing corresponding ones of the sub-band channel signals for reproduction in a corresponding channel of a plurality of channels. 
     In a third embodiment, a system includes a plurality of input channels for receiving a left input signal and a right input signal. The system also includes a plurality of output channels for providing a plurality of output signals. The plurality of output signals includes at least three output signals. In addition, the system includes a channel synthesis processor for splitting the left input signal and the right input signal into a plurality of frequency sub-bands. Each of the frequency sub-bands includes a left sub-band signal and a right sub-band signal. The channel synthesis processor is also for processing the left and right sub-band signals associated with each of the frequency sub-bands into a plurality of sub-band channel signals. In addition, the channel synthesis processor is for summing corresponding ones of the sub-band channel signals to produce the plurality of output signals. 
     Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       For a more complete understanding of this disclosure, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which: 
         FIG. 1  illustrates a multi-speaker system according to one embodiment of this disclosure; 
         FIG. 2  illustrates a surround sound decoding system in the multi-speaker system of  FIG. 1  according to one embodiment of this disclosure; 
         FIG. 3  illustrates a surround sound decoding unit in the surround sound decoding system of  FIG. 2  according to one embodiment of this disclosure; 
         FIG. 4  illustrates a channel synthesis processor in the surround sound decoding unit of  FIG. 3  according to one embodiment of this disclosure; 
         FIG. 5  illustrates a single-band channel synthesis structure in the channel synthesis processor of  FIG. 4  according to one embodiment of this disclosure; 
         FIG. 6  illustrates a gain control unit in the single-band channel synthesis structure of  FIG. 5  according to one embodiment of this disclosure; and 
         FIGS. 7A ,  7 B, and  8  illustrate methods for determining gains in a surround sound decoding system according to one embodiment of this disclosure. 
     
    
    
     DETAILED DESCRIPTION 
       FIGS. 1 through 8 , discussed below, and the various embodiments described in this disclosure are by way of illustration only and should not be construed in any way to limit the scope of the claimed invention. Those skilled in the art will understand that the principles described in this disclosure may be implemented in any suitably arranged device or system. 
     In the following description, a system is provided for reproducing stereo sounds, while providing for improved channel separation and handling one or more dominant signals. The system also addresses the issue of scalability in terms of computation and memory usage. While described as being implemented in a 5.1 speaker system, the same or similar techniques could be used in any suitable multi-speaker system. 
     In some embodiments, the system uses multi-band processing to allow different frequency bands to be steered separately. This may provide better channel separation when there is more than one dominant signal. As the number of frequency bands increases, the ambiguity of decoding may be reduced as the chances of a dominant band falling into the different frequency bands increases. 
     Moreover, in some embodiments, the problems associated with multiple dominant signals are further decreased by introducing a slow decay of surround signals when there is a dominant center signal or a slow decay of center signals when there is a dominant surround signal. This may be based on the assumption that not all dominant signals are active at all times. For example, a dominant signal at a center channel with dialog may have pauses between words and sentences. If a dominant signal is present in the center channel, surround channels may not be completely muted within a short period of time. Rather, a slow decay may be used, which may enable faster recovery during the inactive time of the center channel. 
     The following represents a conventional stereo encoding:
 
 Lt=L+ 0.707 C− 0.707 S  
 
 Rt=R+ 0.707 C+ 0.707 S  
 
where Lt and Rt represent the left and right channels after encoding, and L, R, C, and S represent the left, right, center, and surround channels, respectively. The phase of the surround channel is normally shifted by 90 degree before encoding. The decoding process may take a matrix, such as:
 
               [         L           R           C           S         ]     =       [           G   LL           G   LR               G   RL           G   RR               G   CL           G   CR               G   SL           G   SR           ]     ×     [         Lt           Rt         ]             
where G represents the gain. Many decoders implement a decoding technique expressed by:
 
 L=G   L   ×Lt  
 
 R=G   R   ×Rt  
 
 C=G   C ×( Rt+Lt )
 
 S=G   s ×( Rt−Lt )
 
where G L , G R , G c , and G s  represent the gains for the left, right, center, and surround channels, respectively.
 
     These gains are often obtained by analyzing the in-phase and out-of-phase signals between the two inputs (Lt and Rt). Mathematically, it may not be possible to reproduce the exact original multi-channel audio content once the content has been mixed into stereo content. Rather, an approximation of the original audio signals may be derived based on certain assumptions. The most common assumption may be that there is only one dominant audio signal at any given time, which is often not true. If there is actually more than one dominant signal at a particular time, this assumption may lead to incorrect decoding. For example, if there exists a dominant center signal and a dominant surround signal at the same time, many decoders may, instead of outputting a center signal and a surround signal, output a left signal and a right signal. 
     The system of this disclosure splits input signals into a number of frequency sub-bands. Each frequency sub-band is then processed by a synthesis structure. In some embodiments, the same synthesis structure can be reused by all of the frequency sub-bands. By summing the outputs from the synthesis structures for all of the sub-bands, a multi-channel output may be provided for output by the speaker system. 
     In some embodiments, in the synthesis structure, the left and right outputs are obtained using the left and right inputs with a gain. The center output is obtained using the sum of the left and right inputs with a gain. The surround outputs are obtained using the difference between the right and left inputs with a gain. Gains are further applied to the two surround outputs to steer the surround information between left surround and right surround. In particular embodiments, the synthesis structure may contain signal detection and feedback mechanisms to control all of these gains. Also, the gain of each frequency sub-band for each output may be regulated through gradual increments and decrements to avoid rapid fluctuations. 
       FIG. 1  illustrates a multi-speaker system  10  according to one embodiment of this disclosure. The embodiment of the multi-speaker system  10  shown in  FIG. 1  is for illustration only. Other embodiments of the multi-speaker system  10  may be used without departing from the scope of this disclosure. 
     In this example, an audio video source  30  is split into its audio content  32  and its video content  33 . The audio content  32  is provided to an audio decoder  35 , and the video content  33  is provided to a video decoder  36 . The output from the video decoder  36  is provided to a display unit  20  for presentation of visual images. The output from the audio decoder  35  (which includes a left input signal  5  and a right input signal  6  from decoded stereo audio content) is provided to a surround sound decoding system (SSDS)  50 . 
     The SSDS  50  processes the left and right input signals  5 - 6  and produces a plurality of channels, each for playing on a respective speaker in the multi-speaker system  10 . A listener  3  sitting at an optimum location may be able to enjoy the stereo audio content played through such a multi-speaker system  10 . In this example, the plurality of channels that may be played by the respective speakers are a left channel  11 , a right channel  12 , a center channel  13 , a left surround channel  14 , a right surround channel  15 , and a low frequency effects (LFE) channel  16  (i.e. a subwoofer). 
       FIG. 2  illustrates a surround sound decoding system (SSDS)  50  in the multi-speaker system  10  of  FIG. 1  according to one embodiment of this disclosure. The embodiment of the SSDS  50  shown in  FIG. 2  is for illustration only. Other embodiments of the SSDS  50  may be used without departing from the scope of this disclosure. 
     As shown in  FIG. 2 , the SSDS  50  includes a surround sound decoding unit (SSDU)  52 . The SSDU  52  receives the left input signal  5  and the right input signal  6  and produces the plurality of channels. In this example, the plurality of channels includes the left channel  11 , the right channel  12 , the center channel  13 , the left surround channel  14 , the right surround channel  15 , and the low frequency effects channel  16 . 
       FIG. 3  illustrates a surround sound decoding unit (SSDU)  52  in the surround sound decoding system  50  of  FIG. 2  according to one embodiment of this disclosure. The embodiment of the SSDU  52  shown in  FIG. 3  is for illustration only. Other embodiments of the SSDU  52  may be used without departing from the scope of this disclosure. 
     In this example, the SSDU  52  includes a channel synthesis processor  60 , which receives the left input signal  5  and the right input signal  6  via a pair of high pass filters  63 . The left input signal  5  and the right input signal  6  are also summed in a mixer  67  before filtering in a low pass filter  65  to produce the low frequency effects. In particular embodiments, a cutoff frequency could vary from 50 Hz to 200 Hz, depending on the speaker and subwoofer characteristics. An attenuation, such as an attenuation of 3 dB, may be performed to normalize the loudness of the LFE channel  16 . 
       FIG. 4  illustrates a channel synthesis processor  60  in the surround sound decoding unit  52  of  FIG. 3  according to one embodiment of this disclosure. The embodiment of the channel synthesis processor  60  shown in  FIG. 4  is for illustration only. Other embodiments of the channel synthesis processor  60  may be used without departing from the scope of this disclosure. 
     In this example, the channel synthesis processor  60  includes a band-splitting filter bank  70 . The band-splitting filter bank  70  receives the left input signal  5  and the right input signal  6  for splitting and filtering to generate a plurality of frequency sub-bands. Each of the frequency sub-bands includes a left sub-band signal  5   a  and a right sub-band signal  6   a . The number of frequency sub-bands could vary depending on the processing or computational power allocated or available in the channel synthesis processor  60 . In general, the quality of the audio reproduction may be higher when more frequency sub-bands are used in the system. 
     The left sub-band signal  5   a  and the right sub-band signal  6   a  of each frequency sub-band are processed by a single-band channel synthesis structure  72 , which produces a plurality of sub-band channel signals. The sub-band channel signals in this embodiment include a left sub-band channel signal  11   a , a right sub-band channel signal  12   a , a center sub-band channel signal  13   a , a left surround sub-band channel signal  14   a , and a right surround sub-band channel signal  15   a . The corresponding sub-band channel signals from the single-band channel synthesis structures  72  are summed in mixers  73 , and each sum is sent to its respective output channel to be reproduced by the appropriate speaker. 
     In some embodiments, each of the single-band channel synthesis structures  72  is controlled by specified or predetermined control parameters. The process of splitting the input signals  5 - 6  into a plurality of frequency sub-bands and processing each frequency sub-band to produce a plurality of sub-band channel signals  11   a - 15   a  may be referred to as band based steering. Band based steering may be used to achieve better channel separation, and it may provide easy scalability by scaling the number of frequency sub-bands. 
       FIG. 5  illustrates a single-band channel synthesis structure  72  in the channel synthesis processor  60  of  FIG. 4  according to one embodiment of this disclosure. The embodiment of the single-band channel synthesis structure  72  shown in  FIG. 5  is for illustration only. Other embodiments of the single-band channel synthesis structure  72  may be used without departing from the scope of this disclosure. 
     In this example, the single-band channel synthesis structure  72  receives a left sub-band signal  5   a  and a right sub-band signal  6   a  of a frequency sub-band. The single-band channel synthesis structure  72  processes the sub-band signals  5   a - 6   a  and produces the left sub-band channel signal  11   a , the right sub-band channel signal  12   a , the center sub-band channel signal  13   a , the left surround sub-band channel signal  14   a , and the right surround sub-band channel signal  15   a.    
     In this embodiment, the sub-band channel signals  11   a - 15   a  are generated by voltage-controlled amplifiers (VCAs)  83 . The VCAs  83  amplify the left sub-band signal  5   a , the right sub-band signal  6   a , and other signals based on the sub-band signals  5   a - 6   a  with a plurality of specified or predetermined gains from a gain control unit  80 . More specifically, the left sub-band channel signal  11   a  may be generated using the left sub-band signal  5   a  and a left right gain G LR . The right sub-band channel signal  12   a  may be generated using the right sub-band signal  6   a  and the left right gain G LR . 
     The center sub-band channel signal  13   a  may be generated using a sum of the left sub-band signal  5   a  and the right sub-band signal  6   a , amplified with a center gain G C . The resulting signal can further be attenuated, such as by 3 dB, before being output for consolidation by the appropriate mixer  73 . 
     The left surround sub-band channel signal  14   a  may be generated using a difference between the left sub-band signal  5   a  and the right sub-band signal  6   a , amplified with a surround gain G S  and further amplified using a right surround gain G RS . The signal may be attenuated, such as by 3 dB, before being amplified by the right surround gain G RS . Similarly, the right surround sub-band channel signal  15   a  may be generated using the difference between the left sub-band signal  5   a  and the right sub-band signal  6   a , amplified with the surround gain G S  and further amplified using a left surround gain G LS . The signal may be attenuated, such as by 3 dB, before being amplified by the left surround gain G LS . 
     The attenuation of some of the signals may be done to normalize the amplitudes of the signals. This may be needed, for example, due to the summing of the left sub-band signal  5   a  and the right sub-band signal  6   a.    
     The gains from the gain control unit  80  may be generated in any suitable manner. For example, the gains could be generated using calculations performed on the left sub-band signal  5   a  and the right sub-band signal  6   a.    
       FIG. 6  illustrates a gain control unit  80  in the single-band channel synthesis structure  72  of  FIG. 5  according to one embodiment of this disclosure. The embodiment of the gain control unit  80  shown in  FIG. 6  is for illustration only. Other embodiments of the gain control unit  80  may be used without departing from the scope of this disclosure. 
     In this example, the gains may be generated by a threshold detection and gain adjustment calculation (TDGC) unit  85 . For calculating the G LS  and G RS  gains, the left sub-band signal  5   a  and the right sub-band signal  6   a  are buffered using an initial buffer having a predetermined or specified algorithm. The signals  5   a - 6   a  may be further buffered using buffer lengths that could vary (such as between 5 ms to 0.1 s). The buffered signals are then windowed, such as by using any of a plurality of specified or predetermined windows. In some embodiments, rectangular windows may be used for low computational power uses, or more complicated windows (such as hamming windows) may be used if computational power is not an issue. The buffered and windowed signals are then accumulated and sent to the TDGC unit  85 . The signals sent to the TDGC unit  85  are a left accumulation value M L    5   b  and a right accumulation value M R    6   b.    
     The left accumulation value M L    5   b  and the right accumulation value M R    6   b  may undergo a threshold detection and gain adjustment calculation process in the TDGC unit  85  to generate the gains G LS  and G RS . These gains G LS  and G RS  may be generated using a first set of control parameters  91  in a control unit. The first set of control parameters  91  may include at least an increment and/or decrement size D. 
     In particular embodiments, the initial buffer used for buffering the left sub-band signal  5   a  may be represented by |L+αR| for the left accumulation value M L    5   b , and the initial buffer used for buffering the right sub-band signal  6   a  may be represented by |R+αL| for the right accumulation value M R    6   b . In these embodiments, α represents a control parameter, such as a parameter varying from 0.0 to 0.4. 
     For calculating the G LR , G C , and G S  gains, the left sub-band signal  5   a  and the right sub-band signal  6   a  are used to generate a total correlation value A T    17  and a differential correlation value A D    18 . The total correlation value A T    17  and the differential correlation value A D    18  are sent to the TDGC unit  85 . These, together with a second set of control parameters  92  from the control unit, are used in the TDGC unit  85  to calculate the G LR , G C , and G S  gains. 
     For generating the total correlation value A T    17 , the left sub-band signal  5   a  and the right sub-band signal  6   a  may be summed before undergoing buffering. The buffering may be done with variable buffer lengths (such as lengths varying between 5 ms to 0.1 s). The buffered signals are then windowed using any predetermined or specified window. In some embodiments, rectangular windows may be used for low computational power uses, and more complicated hamming or other windows may be applied if computational power is not an issue. The summed, buffered, and windowed signals may then be auto-correlated to generate the total correlation value A T    17 . 
     For generating the differential correlation value A D    18 , the left sub-band signal  5   a  is subtracted from the right sub-band signal  6   a . The difference is then buffered and windowed in a similar manner before undergoing auto-correlation to generate the differential correlation value A D    18 . 
       FIGS. 7A ,  7 B, and  8  illustrate methods for determining gains in a surround sound decoding system according to one embodiment of this disclosure. The methods shown in  FIGS. 7A ,  7 B, and  8  are for illustration only. Other methods for determining gains in a surround sound decoding system could be used without departing from the scope of this disclosure. 
       FIGS. 7A and 7B  illustrate detailed calculations for determining the gains G LR , G C , and G S . A gain value is gradually increased to a maximum when there is a presence of a strong dominant signal. If there is no clear dominant signal, ideal gain values are calculated, and the gain values are gradually moved towards the ideal gain values. Slower decay may be introduced for a surround channel signal when there is a strong center channel signal, and vice versa. 
     In some embodiments, the second set of control parameters  92  includes:
         I C : value of increment for the center channel   D C : value of decrement for the center channel   D SC : value of decrement for the center channel with slow decay (such as 2-5 times smaller than D C )   U C : upper threshold value for center channel   L C : lower threshold value for center channel   S C : difference between the upper and lower threshold values for center channel   I S : value of increment for the surround channel   D S : value of decrement for the surround channel   D SS : value of decrement for the surround channel with slow decay (such as 2-5 times smaller than D S )   U S : upper threshold value for surround channel   L S : lower threshold value for surround channel   S S : difference between the upper and lower threshold values for surround channel   I LR : value of increment for the left and right channels   D LR : value of decrement for the left and right channels
 
The logic flow in  FIGS. 7A and 7B  determines the next gain value by taking the current gain values and adjusting them after analyzing the output from the auto-correlators (A T    17  and A D    18 ).
       

     Referring to  FIGS. 7A and 7B , the logic flow of the calculations are as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                 If A T /A D  &gt; U C   
                 Condition 1 
               
            
           
           
               
               
            
               
                   
                 If G C  &lt; 1 
               
            
           
           
               
               
            
               
                   
                 G C  = G C  + I C   
               
            
           
           
               
               
            
               
                   
                 End 
               
               
                   
                 If G LR  &gt; 0 
               
            
           
           
               
               
            
               
                   
                 G LR  = G LR  − D LR   
               
            
           
           
               
               
            
               
                   
                 End 
               
               
                   
                 If G S  &gt; 0 
               
            
           
           
               
               
            
               
                   
                 G S  = G S  − D SS   
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
               
            
               
                   
                 Else if L C  &lt; A T /A D  ≦ U C   
                 Condition 2 
               
            
           
           
               
               
               
            
               
                   
                 If A T /A D  &gt; U C  − G LR *S C   
                 Condition 2a 
               
            
           
           
               
               
            
               
                   
                 If G LR  &gt; 0 
               
            
           
           
               
               
               
            
               
                   
                 G LR  = G LR  − (1.207 − G LR )*D LR   
                 Eqn. 2.1 
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
               
            
               
                   
                 Else if A T /A D  &lt; U C  −G LR *S C   
                 Condition 2b 
               
            
           
           
               
               
            
               
                   
                 If G LR  &lt; 1 
               
            
           
           
               
               
               
            
               
                   
                 G LR  = G LR  + (1.207 − G LR )*I LR   
                 Eqn. 2.2 
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
               
            
               
                   
                 If A T /A D  &gt; U C  − G C  * S C   
                 Condition 2c 
               
            
           
           
               
               
            
               
                   
                 If G C  &gt; 0 
               
            
           
           
               
               
               
            
               
                   
                 G C  = G C  − (1.207 − G C )*D C   
                 Eqn. 2.3 
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
               
            
               
                   
                 Else if A T /A D  &lt; U C  − G C *S C   
                 Condition 2d 
               
            
           
           
               
               
            
               
                   
                 If G C  &lt; 1 
               
            
           
           
               
               
               
            
               
                   
                 G C  = G C  + (1.207 − G C )*I C   
                 Eqn. 2.4 
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
            
               
                   
                 End 
               
               
                   
                 If G S  &gt; 0 
               
            
           
           
               
               
            
               
                   
                 G S  = G S  − D SS   
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
               
            
               
                   
                 Else if A D /A T  &gt; U S   
                 Condition 3 
               
            
           
           
               
               
            
               
                   
                 If G S  &lt; 1 
               
            
           
           
               
               
            
               
                   
                 G S  = G S  + I S   
               
            
           
           
               
               
            
               
                   
                 End 
               
               
                   
                 If G LR  &gt; 0 
               
            
           
           
               
               
            
               
                   
                 G LR  = G LR  − D LR   
               
            
           
           
               
               
            
               
                   
                 End 
               
               
                   
                 If G C  &gt; 0 
               
            
           
           
               
               
            
               
                   
                 G C  = G C  − D SC   
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
               
            
               
                   
                 Else if L S  &lt; A D /A T  ≦ U S   
                 Condition 4 
               
            
           
           
               
               
               
            
               
                   
                 If A D /A T  &gt; U S  − G LR  * S S   
                 Condition 4a 
               
            
           
           
               
               
            
               
                   
                 If G LR  &gt; 0 
               
            
           
           
               
               
               
            
               
                   
                 G LR  = G LR  − (1.207 − G LR )*D LR   
                 Eqn. 4.1 
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
               
            
               
                   
                 Else if A D /A T  &lt; U S  − G LR *S S   
                 Condition 4b 
               
            
           
           
               
               
            
               
                   
                 If G LR  &lt; 1 
               
            
           
           
               
               
               
            
               
                   
                 G LR  = G LR  + (1.207 − G LR )*I LR   
                 Eqn. 4.2 
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
               
            
               
                   
                 If A D /A T  &gt; U S  − G S * S S   
                 Condition 4c 
               
            
           
           
               
               
            
               
                   
                 If G S  &gt; 0 
               
            
           
           
               
               
               
            
               
                   
                 G S  = G S  − (1.207 − G S )*D S   
                 Eqn. 4.3 
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
               
            
               
                   
                 Else if A D /A T  &lt; U S  − G S  * S S   
                 Condition 4d 
               
            
           
           
               
               
            
               
                   
                 If G S  &lt; 1 
               
            
           
           
               
               
               
            
               
                   
                 G S  = G S  + (1.207 − G S )*D S   
                 Eqn. 4.4 
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
            
               
                   
                 End 
               
               
                   
                 If G C  &gt; 0 
               
            
           
           
               
               
            
               
                   
                 G C  = G C  − D SC   
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
            
               
                   
                 Else 
               
            
           
           
               
               
            
               
                   
                 If G LR  &lt; 1 
               
            
           
           
               
               
            
               
                   
                 G LR  = G LR  + I LR   
               
            
           
           
               
               
            
               
                   
                 End 
               
               
                   
                 If G C  &gt; 0 
               
            
           
           
               
               
            
               
                   
                 G C  = G C  − D C   
               
            
           
           
               
               
            
               
                   
                 End 
               
               
                   
                 If G S  &gt; 0 
               
            
           
           
               
               
            
               
                   
                 G S  = G S  − D S   
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
            
               
                   
                 End 
               
               
                   
                   
               
            
           
         
       
     
     The following represents a summary of the logic flow for calculating the gains G LR , G C , and G S  in  FIGS. 7A and 7B . When one sub-band channel signal is dominant, the gain for that sub-band channel signal is incremented, while the other two gains are decremented. When the correlation factor ratio A T /A D  is greater than U C  (Condition 1), the center sub-band channel signal  13   a  is dominant, and G C  is incremented while G LR  and G S  are decremented. 
     When the correlation factor ratio A T /A D  is between L C  and U C  (Condition 2), the left sub-band channel signal  11   a , the right sub-band channel signal  12   a , and the center sub-band channel signal  13   a  are exhibiting dominant characteristics. G LR  is then compared with an ideal G LR  value (Conditions 2a, 2b) and decremented (Eqn. 2.1) or incremented (Eqn. 2.2) towards that ideal value. G C  is also compared with an ideal G C  value (Conditions 2c, 2d) and decremented (Eqn. 2.3) or incremented (Eqn. 2.4) towards that ideal value. In addition, G S  may be decremented. 
     When the correlation factor ratio A T /A D  is less than U S  (Condition 3), the left surround sub-band channel signal  14   a  and the right surround sub-band channel signal  15   a  are dominant. G S  is incremented while G LR  and G C  are decremented. 
     When the correlation factor ratio A T /A D  is between L S  and U S  (Condition 4), the left sub-band channel signal  11   a , the right sub-band channel signal  12   a , the left surround sub-band channel signal  14   a , and the right surround sub-band channel signal  15   a  are exhibiting dominant characteristics. G LR  is compared with an ideal G LR  value (Conditions 4a, 4b) and decremented (Eqn. 4.1) or incremented (Eqn. 4.2) towards that ideal value. G S  is also compared with an ideal G S  value (Conditions 4c, 4d) and decremented (Eqn. 4.3) or incremented (Eqn. 4.4) towards that ideal value. In addition, G C  may be decremented. 
     When the left sub-band channel signal  11   a  and the right sub-band channel signal  12   a  are dominant, G LR  is incremented while G C  and G S  are decremented. 
       FIG. 8  illustrates detailed calculations for determining the gains G LS  and G RS . The left accumulation value M L    5   b  and the right accumulation value M R    6   b  are used in conjunction with the first set of control parameters  91 , which includes the predetermined or specified increment and/or decrement size D. 
     In general, each of these gains is assigned with specified or predetermined increment and decrement step sizes. When a single dominant signal is detected at an input channel, the corresponding gain is incremented until a maximum value, and other gains are decremented until minimum values. When more than one dominant signal is present, the gains of each output are incremented or decremented towards ideal values. Furthermore, when a dominant center signal is detected, the gain of the surround channel is decremented at a smaller step, and vice versa. 
     Referring to  FIG. 8 , the logic flow of the calculations are as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                 If M L  * G RS  &lt; M R  * G LS   
                 Condition 5 
               
            
           
           
               
               
            
               
                   
                 If G RS  &lt; 0.707 
               
            
           
           
               
               
               
            
               
                   
                 G RS  = G RS  + (0.853 − G RS )*D 
                 Eqn. 5.1 
               
            
           
           
               
               
            
               
                   
                 End 
               
               
                   
                 If G LS  &gt; 0 
               
            
           
           
               
               
               
            
               
                   
                 G LS  = G LS  − (0.853 − G LS )*D 
                 Eqn. 5.2 
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
               
            
               
                   
                 Else if M L  * G RS  &gt; M R  * G LS   
                 Condition 6 
               
            
           
           
               
               
            
               
                   
                 If G LS  &lt; 0.707 
               
            
           
           
               
               
               
            
               
                   
                 G LS  = G LS  + (0.853 − G LS )*D 
                 Eqn. 6.1 
               
            
           
           
               
               
            
               
                   
                 End 
               
               
                   
                 If G RS  &gt; 0 
               
            
           
           
               
               
               
            
               
                   
                 G RS  = G RS  − (0.853 − G RS )*D 
                 Eqn. 6.2 
               
            
           
           
               
               
            
               
                   
                 End 
               
            
           
           
               
               
            
               
                   
                 End 
               
               
                   
                   
               
            
           
         
       
     
     The following represents a summary of the logic flow for calculating the gains G LS  and G RS  in  FIG. 8 . An accumulation value ratio M R /M L  is compared with a ratio of G RS  and G LS . When the accumulation value ratio M R /M L  is greater than the ratio of G RS  and G LS  (Condition 5), G RS  is incremented (Eqn. 5.1) while G LS  is decremented (Eqn. 5.2). When the accumulation value ratio M R /M L  is less than the ratio of G RS  and G LS  (Condition 6), G RS  is decremented (Eqn. 6.1) while G LS  is incremented (Eqn. 6.2). 
     The above description has described a system and method for reproducing stereo audio content on up to five speakers and a sub-woofer in a 5.1 speaker system. Channel separation is enhanced by separately processing frequency sub-bands. Any sudden volume changes in the output channels may be tempered using gradual increments and decrements in the gain value of each channel. Transitions from one channel to another may also be made smooth with slow decays in the gain value of each channel. This system and method may be fully scalable to meet the computational constraints of the hardware used. Further, in some embodiments, all sub-band processing shares the same structure, saving hardware size or code size (depending on how the algorithm is realized). In addition, the computational power required may be relatively small compared with prior techniques that employ complex logarithmic computations using digital signal processors. 
     While a system has been described above as being formed from various components, any component described in this document could be implemented in any hardware, software, firmware, or combination thereof. In some embodiments, various functions described above are implemented or supported by a computer program that is formed from computer readable program code and that is embodied in a computer readable medium. The phrase “computer readable program code” includes any type of computer code, including source code, object code, and executable code. The phrase “computer readable medium” includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory. 
     It may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation. The term “or” is inclusive, meaning and/or. The phrases “associated with” and “associated therewith,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like. The terms “controller” and “processor” mean any device, system, or part thereof that controls or performs at least one operation. A controller or processor may be implemented in hardware, firmware, software, or some combination of at least two of the same. The functionality associated with any particular controller or processor may be centralized or distributed, whether locally or remotely. 
     While this disclosure has described certain embodiments and generally associated methods, alterations and permutations of these embodiments and methods will be apparent to those skilled in the art. Accordingly, the above description of example embodiments does not define or constrain this disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of this disclosure, as defined by the following claims.