Patent Document

TECHNICAL FIELD 
       [0001]    The solution described herein relates generally to audio signal processing, and in particular to generation of comfort noise. 
       BACKGROUND 
       [0002]    Comfort noise, CN, is used by speech processing products to replicate the background noise with an artificially generated signal. This may for instance be used in residual echo control in echo cancellers using a non-linear processor, NLP, where the NLP blocks the echo contaminated signal, and inserts CN in order to not introduce a perceptually annoying spectrum and level mismatch of the transmitted signal. Another application of CN is in speech coding in the context of silence suppression or discontinuous transmission, DTX, where, in order to save bandwidth, the transmitter only sends a highly compressed representation of the spectral characteristics of the background noise and the background noise is reproduced as a CN in the receiver. 
         [0003]    Since the true background noise is present in periods when the NLP or DTX/silence suppression is not active, the CN has to match this background noise as faithfully as possible. The spectral matching is achieved with e.g. producing the CN as a spectrally shaped pseudo noise signal. The CN is most commonly generated using a spectral weighting filter and a driving pseudo noise signal. This can either be performed in the time domain, n(t)=H(z) w(t), or in the frequency domain, n(t)=IFFT(H(f)*W(f)), where H(z) and H(f) are the representation of the spectral shaping in the time and frequency domain, respectively, and w(t) and W(f) are suitable driving noise sequence, e.g. a pseudo noise signal. 
         [0004]    However, when applying comfort noise generation to stereo signals or other multi-channel audio signals, the result is often not satisfactory. In fact, listeners may experience unpleasant effects. 
       SUMMARY 
       [0005]    It would be desirable to achieve high quality comfort noise for multiple audio channels. The herein disclosed solution relates to a procedure for generating comfort noise, which replicates the spatial characteristics of background noise in addition to the commonly used spectral characteristics. 
         [0006]    According to a first aspect, a method is provided, which is to be performed by an arrangement. The method comprising determining spectral characteristics of audio signals on at least two input audio channels. The method further comprises determining a spatial coherence between the audio signals on the respective input audio channels; and generating comfort noise, for at least two output audio channels, based on the determined spectral characteristics and spatial coherence. 
         [0007]    According to a second aspect, a method is provided, which is to be performed by a transmitting node. The method comprising determining spectral characteristics of audio signals on at least two input audio channels. The method further comprises determining a spatial coherence between the audio signals on the respective input audio channels; and signaling information about the spectral characteristics of the audio signals on the at least two input audio channels and information about the spatial coherence between the audio signals on the input audio channels, to a receiving node, for generation of comfort noise for at least two audio channels at the receiving node. 
         [0008]    According to a third aspect, a method is provided, which is to be performed by a receiving node. The method comprising obtaining information about spectral characteristics of input audio signals on at least two audio channels. The method further comprises obtaining information on a spatial coherence between the input audio signals on the at least two audio channels. The method further comprises generating comfort noise for at least two output audio channels, based on the obtained information about spectral characteristics and spatial coherence. 
         [0009]    According to a fourth aspect, an arrangement is provided, which comprises at least one processor and at least one memory. The at least one memory contains instructions which are executable by said at least one processor. By the execution of the instructions, the arrangement is operative to determine spectral characteristics of audio signals on at least two input audio channels; to determine a spatial coherence between the audio signals on the respective input audio channels; and further to generate comfort noise for at least two output audio channels, based on the determined spectral characteristics and spatial coherence. 
         [0010]    According to a fifth aspect, a transmitting node is provided. The transmitting node comprises processing means, for example in form of a processor and a memory, wherein the memory contains instructions executable by the processor, whereby the transmitting node is operable to perform the method according to the second aspect. That is, the transmitting node is operative to determine the spectral characteristics of audio signals on at least two input audio channels and to signal information about the spectral characteristics of the audio signals on the at least two input audio channels. The memory further contains instructions executable by said processor whereby the transmitting node is further operative to determine the spatial coherence between the audio signals on the respective input audio channels; and to signal information about the spatial coherence between the audio signals on the respective input audio channels to a receiving node, for generation of comfort noise for at least two audio channels at the receiving node. 
         [0011]    According to a sixth aspect, a receiving node is provided. The receiving node comprises processing means, for example in form of a processor and a memory, wherein the memory contains instructions executable by the processor, whereby the transmitting node is operable to perform the method according to the third aspect above. That is, the receiving node is operative to obtain spectral characteristics of audio signals on at least two input audio channels. The receiving node is further operative to obtain a spatial coherence between the audio signals on the respective input audio channels; and to generate comfort noise, for at least two output audio channels, based on the obtained information about spectral characteristics and spatial coherence. 
         [0012]    According to a seventh aspect, a user equipment is provided, which is or comprises an arrangement, a transmitting node or a receiving node according to one of the aspects above. 
         [0013]    According to further aspects, computer programs are provided, which when run in an arrangement or node of the above aspects causes the arrangement or node to perform the method of the corresponding aspect above. Further, carriers carrying the computer programs are provided. 
         [0014]    The solution according to the above described aspects enables generation of high-quality comfort noise for multiple channels. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0015]    The foregoing and other objects, features, and advantages of the solution disclosed herein will be apparent from the following more particular description of embodiments as illustrated in the accompanying drawings. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the solution disclosed herein. 
           [0016]      FIG. 1  is a flow chart of a method performed by an arrangement, according to an exemplifying embodiment. 
           [0017]      FIG. 2  is a flow chart of a method performed by an arrangement and/or a transmitting node, according to an exemplifying embodiment. 
           [0018]      FIG. 3  is a flow chart of a method performed by an arrangement and/or a receiving node, according to an exemplifying embodiment. 
           [0019]      FIG. 4  is a flow chart of a method performed by a transmitting node, according to an exemplifying embodiment. 
           [0020]      FIG. 5  is a flow chart of a method performed by an arrangement and/or a receiving node, according to an exemplifying embodiment. 
           [0021]      FIGS. 6 and 7  illustrate arrangements according to exemplifying embodiments. 
           [0022]      FIGS. 8 and 9  illustrate transmitting nodes according to exemplifying embodiments. 
           [0023]      FIGS. 10 and 11  illustrate Receiving nodes according to exemplifying embodiments. 
       
    
    
     DETAILED DESCRIPTION 
       [0024]    A straight forward way of generating Comfort Noise, CN, for multiple channels, e.g. stereo, is to generate CN based on one of the audio channels. That is, derive the spectral characteristics of the audio signal on said channel and control a spectral filter to form the CN from a pseudo noise signal which is output on multiple channels, i.e. apply the CN from one channel to all the audio channels. However, if striving for a more realistic stereo noise, another straight forward way is to derive the spectral characteristics of the audio signals on all channels and use multiple spectral filters and multiple pseudo noise signals, one for each channel, and thus generating as many CNs as there are output channels. However, even though it could be expected that the latter method would replicate background noise in stereo with a good result, this is not always the case. Listeners which are subjected to this type of CN often experience that there is something strange or annoying with the sound. For example, listeners may have the experience that the noise source is located within their head, which may be very unpleasant. 
         [0025]    The inventor has realized this problem and found a solution, which is described in detail below. The inventor has realized that, in order to improve the multi channel CN, also the spatial characteristics of the audio signals on the multiple audio channels should be taken into consideration when generating the CN. However, it is not obvious how to achieve this. The inventor have solved the problem by finding a way to determine, or estimate, the spatial coherence of the input audio signals, and then configuring the generation of CN signals such that these CN signals have a spatial coherence matching that of the input audio signals. It should be noted, that even when having identified that the spatial coherence could be used, it is not a simple task to achieve this. For simplicity, the solution described below is described for two audio channels, also denoted “left” and “right”, or “x” and “y”, i.e. stereo. However, the concept could be generalized to more than two channels. 
         [0026]    The spatial coherence of the background noise can be obtained using the coherence function C(f)=|S_xy(f)|{circumflex over ( 0 )}2/(S_x(f)*S_y(f)) where S_x(f) is the averaged spectrum of the left channel signal, S_y(f) is the averaged spectrum of the right channel signal, and S_xy(f) is the cross-spectrum of the left and right channel signals. These spectra can e.g. be estimated by means of the periodogram using the fast Fourier transform (FFT). 
         [0027]    Similarly, the CN spectral shaping filters can be obtained as a function of the square root of the signal spectra S_x(f) and S_y(f). Other technologies, e.g. AR modeling, may also be employed in order to estimate the CN spectral shaping filters. 
         [0028]    A spatially and spectrally correlated CN may be obtained as 
         [0000]        n _I( t )=ifft( H _1( f )*( W _1( f ) +G ( f )* W _2( f ))) 
         [0000]        n _r( t )=ifft( H _2( f )*( W _2( f ) +G ( f )* W _1( f ))) 
         [0000]    where H_ 1 (f) and H_ 2 (f) are spectral weighting functions obtained as a function of the signal spectra S_x(f) and S_y(f), G(f) is a function of the coherence function C(f), and W_ 1 (f) and W_ 2 (f) are pseudo random phase/noise components. 
         [0029]    The estimation of the spatial and spectral background noise characteristics, 
         [0000]      Cm(f): Spatial coherence 
         [0000]      H_I(f): Left channel spectral characteristics (sqrt(S_I(f)) 
         [0030]    H_r(f): Right channel spectral characteristics (sqrt(S_r(f)) 
         [0000]    may be obtained using the Fourier transform of the left, x, and right, y, channel signal during noise-only periods, as exemplified in the following pseudo-code: 
         [0000]    
       
         
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 X = fft(x, N_FFT); 
               
               
                   
                 M = abs(X(1:(N_FFT/2))).{circumflex over ( )}2/2/L; 
               
               
                   
                 Sx = RHO*Sx + (1−RHO)*M; 
               
               
                   
                 M_l = sqrt(min(Sx, 2*M)); 
               
               
                   
                 H_l = [M_l; M_l(end); flipud(M_l(2:end))]; 
               
               
                   
                 Y = fft(y, N_FFT); 
               
               
                   
                 M = abs(Y(1:(N_FFT/2))).{circumflex over ( )}2/2/L; 
               
               
                   
                 Sy = RHO*Sy + (1−RHO)*M; 
               
               
                   
                 M_r = sqrt(min(Sy, 2*M)); 
               
               
                   
                 H_r = [M_r; M_r(end); flipud(M_r(2:end))]; 
               
               
                   
                 crossCorr = RHO*crossCorr + (1−RHO)*x′*y){circumflex over ( )}2/ 
               
             
          
           
               
                   
                 (x′*x)/(y′*y); 
               
             
          
           
               
                   
                 Sxy = RHO*Sxy + (1−RHO)* 
               
             
          
           
               
                   
                 (X(1:(N_FFT/2))).*conj(Y(1:(N_FFT/2)))/2/L; 
               
             
          
           
               
                   
                 C = (abs(Sxy).{circumflex over ( )}2)./(eps+Sx.*Sy); 
               
               
                   
                 Cm = (31/32)*Cm + (1/32)*C; 
               
               
                   
                   
               
             
          
         
       
     
         [0031]    The spatially and spectrally correlated comfort noise may then be reproduced using the inverse Fourier transform of a sum of frequency weighted noise sequences as outlined in the following. 
         [0032]    The spectral representation of the comfort noise may be formulated as, for the left and right channel, respectively: 
         [0000]        N _I ( f ) =H _1( f )*( W _1( f ) +G ( f )* W _2( f )) 
         [0000]        N _r( f ) =H _2( f )*( W _2( f ) +G ( f )* W _1( f )) 
         [0000]    where W_ 1  (f) and W_ 2 (f) are preferably random noise sequences with unite magnitude represented in the frequency domain. Under the assumption that W_ 1  (f) and W_ 2 (f) are independent pseudo white sequences with unit magnitude, the coherence function of N_I(f) and N_r(f) equals (omitting the parameter f) 
         [0000]        C _ N ( f )=( |H _1|̂2 *|H _2|̂2*|2*G|̂2)/(| H _1|̂2 *|H _2|̂2*(1 Ĝ 2)̂2=4 Ĝ 2/(1 G ̂2)̂2
 
         [0033]    Thus, to obtain a similar spatial coherence of the comfort noise as of the original stereo signal, i.e. that C_N(f)=C(f); G(f) may be derived from the identity C(f)=4 G(f)̂2/(1+G(f)̂2)̂2 as 
         [0000]        G ( f )=sqrt(2 −C ( f )−sqrt((2 −C ( f ))̂2 −C ( f ))
 
         [0034]    The spectral matching is obtained by noting that the spectrum of N_I(f) and N_r(f) should equal S_N_I(f)=|H_ 1 (f)|̂2*(1+G(f)̂2) and S_N_r(f)=|H_ 2 (f)|̂2*(1+G(f)̂2). From this, H_ 1 (f) and H_ 2 (f) can be chosen so that S_N_I(f) and S_N_r(f) matches the spectrum of the original background noise in the left and right channel, |H_I(f)|̂2 and |H_r(f)|̂2, respectively, as 
         [0000]        H _1( f ) =H _ l ( f )/sqrt(1 +G ( f )̂2)
 
         [0000]        H _1( f ) =H _ r ( f )/sqrt(1 +G ( f )̂2)
 
         [0035]    In order to reduce complexity, it may be noted that the coherence of noise signals is usually only significant for low frequencies, hence, the frequency range for which calculations are to be performed may be reduced. That is, calculations may be performed only for a frequency range, e.g. where the spatial coherence C(f) exceeds a threshold, e.g. 0,2. 
         [0036]    A simplified procedure may use only the correlation of the background noise in the left and right channel, g, instead of the coherence function C(f) above. 
         [0037]    The simplified version of only using the correlation of the background noise from the left and right channel may be implemented by replacing G(f) in the expression for H_ 1 (f) and H_ 2 (f) with a scalar computed similar as G(f) but with the scalar correlation factor instead of the coherence function C(f). 
         [0038]    The procedure may be implemented as described in the following pseudo-code: 
         [0000]    
       
         
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 seed = exp(i*2*pi*rand(N_FFT/2−1, 1)); 
               
               
                   
                 W_1 = [rand(1); seed; rand(1); conj(flipud(seed))]; 
               
               
                   
                 seed = exp(i*2*pi*rand(N_FFT/2−1, 1)); 
               
               
                   
                 W_2 = [rand(1); seed; rand(1); conj(flipud(seed))]; 
               
               
                   
                 if (useCoherence) 
               
             
          
           
               
                   
                 Gamma = (1 − 2./Cm); 
               
               
                   
                 Gamma = −Gamma − sqrt(Gamma.{circumflex over ( )}2 − Cm); 
               
               
                   
                 Gamma = sqrt(Gamma); 
               
               
                   
                 G = [Gamma; Gamma(end); flipud(Gamma(2:end))]; 
               
               
                   
                 CrossCorr(frame) = mean(Cm); 
               
               
                   
                 H_1 = H_l./sqrt(1+G.{circumflex over ( )}2); 
               
               
                   
                 H_2 = H_r./sqrt(1+G.{circumflex over ( )}2); 
               
               
                   
                 N_l = H_1.*(W_1 + G.*W_2); 
               
               
                   
                 N_r = H_2.*(W_2 + G.*W_1); 
               
             
          
           
               
                   
                 else 
               
             
          
           
               
                   
                 if (useCorrelation) 
               
             
          
           
               
                   
                 gamma = (1 − 2/crossCorr); 
               
               
                   
                 gamma = −gamma − sqrt(gamma{circumflex over ( )}2 − crossCorr); 
               
               
                   
                 gamma = sqrt(gamma); 
               
             
          
           
               
                   
                 else 
               
             
          
           
               
                   
                 gamma = 0; 
               
             
          
           
               
                   
                 end 
               
               
                   
                 H_1 = H_l/sqrt(1+gamma{circumflex over ( )}2); 
               
               
                   
                 H_2 = H_r/sqrt(1+gamma{circumflex over ( )}2); 
               
               
                   
                 N_l = H_1.*(W_1 + gamma*W_2); 
               
               
                   
                 N_r = H_2.*(W_2 + gamma*W_1); 
               
             
          
           
               
                   
                 end 
               
               
                   
                 n_l = sqrt(N_FFT)*ifft(N_l); 
               
               
                   
                 n_r = sqrt (N_FFT)*ifft(N_r); 
               
               
                   
                 n_l = n_l(1:(L+N_overlap)); 
               
               
                   
                 n_r = n_r(1:(L+N_overlap)); 
               
               
                   
                 noise(ind, 1) = 
               
             
          
           
               
                   
                 [overlapWindow.*n_l(1:N_overlap)+overlap_l; 
               
             
          
           
               
                   
                 n_l((N_overlap+1):L)]; 
               
             
          
           
               
                   
                 overlap_l = flipud(overlapWindow).*n_l((L+1):end); 
               
               
                   
                 noise(ind, 2) = 
               
             
          
           
               
                   
                 [overlapWindow.*n_r(1:N_overlap)+overlap_r; 
               
             
          
           
               
                   
                 n_r((N_overlap+1):L)]; 
               
             
          
           
               
                   
                 overlap_r = flipud(overlapWindow).*n_r((L+1):end); 
               
               
                   
                   
               
             
          
         
       
     
         [0039]    In the description above, the comfort noise is generated in the frequency domain, but the method may be implemented using time domain filter representations of the spectral and spatial shaping filters. 
         [0040]    For residual echo control, the resulting comfort noise may be utilized in a frequency domain selective NLP which only blocks certain frequencies, by a subsequent spectral weighting. 
         [0041]    For speech coding application, several technologies for the CN generator to obtain the spectral and spatial weighting may be used, and the invention can be used independent of these technologies. Possible technologies include, but are not limited to, e.g. the transmission of AR parameters representing the background noise at regular time intervals or continuously estimating the background noise during regular speech transmission. Similarly, the spatial coherence may be modelled using e.g. a sinc function and transmitted at regular intervals, or continuously estimated during speech. 
         [0042]    In the following paragraphs, different aspects of the solution disclosed herein will be described in more detail with references to certain embodiments and to accompanying drawings. For purposes of explanation and not limitation, specific details are set forth, such as particular scenarios and techniques, in order to provide a thorough understanding of the different embodiments. However, other embodiments may depart from these specific details. 
         [0043]    Exemplifying method performed by an arrangement,  FIG. 1   
         [0044]    An exemplifying method for CN generation performed by an arrangement in a device or system will be described below with reference to  FIG. 1 . The arrangement should be assumed to have technical character. The method is suitable for generation of comfort noise for a plurality of audio channels, i.e. at least two audio channels. The arrangement may be of different types. It can comprise an echo canceller located in a network node or a device, or, it can comprise a transmitting node and a receiving node operable to encode and decode audio signals, and to apply silence suppression or a DTX scheme during periods of relative silence, e.g. non-active speech. 
         [0045]      FIG. 1  illustrates the method comprising determining  101  the spectral characteristics of audio signals on at least two input audio channels. The method further comprises determining  102  the spatial coherence between the audio signals on the respective input audio channels; and generating  103  comfort noise, for at least two output audio channels, based on the determined spectral characteristics and spatial coherence. 
         [0046]    The arrangement is assumed to have received the plurality of input audio signals on the plurality of audio channels e.g. via one or more microphones or from some source of multi-channel audio, such as an audio file storage. The audio signal on each audio channel is analyzed in respect of its frequency contents, and the spectral characteristics, denoted e.g. H_I(f) and H_r(f) are determined according to a therefore suitable method. This is what has been done in prior art methods for comfort noise generation. These spectral characteristics could also be referred to as the spectral characteristics of the channel, in the sense that a channel having the spectral characteristics H_I(f) would generate the audio signal I(t) from e.g. white noise. That is, the spectral characteristics are regarded as a spectral shaping filter. It should be noted that these spectral characteristics do not comprise any information related to any cross-correlation between the input audio signals or channels. 
         [0047]    However, here, yet another characteristic of the audio signals is determined, namely a relation between the input audio signals in form of the spatial coherence C between the input audio signals. In general, the concept of coherence is related to the stability, or predictability, of phase. Spatial coherence describes the correlation between signals at different points in space, and is often presented as a function of correlation versus absolute distance between observation points. 
         [0048]    In an example with two input audio signals, I(t) and r(t), where “I” stands for “left” and “r” stands for “right”, these audio signals are input to the arrangement, e.g. via a stereo microphone. These signals could alternatively be denoted x(t) and y(t), which is used in a previous part of the description.  FIG. 2  is a schematic illustration of a process, showing both actions and signals, where the two input signals can be seen as left channel signal  201  and right channel signal  202 . The left channel spectral characteristics, expressed as H_I(f), are estimated  203 , and the right channel spectral characteristics, H_r(f), are estimated  204 . This could, as previously described, be performed using Fourier analysis of the input audio signals. Then, the spatial coherence C_Ir is estimated  205  based on the input audio signals and possibly reusing results from the estimation  203  and  204  of spectral characteristics of the respective input audio signals. 
         [0049]    The generation of comfort noise is illustrated in an exemplifying manner in  FIG. 3 , showing both actions and signals. A first, W_ 1 , and a second, W_ 2 , pseudo noise sequence are generated in  301  and  302 , respectively. Then, a left channel noise signal is generated  303  based on the estimates of the left channel spectral characteristics H_I and the spatial coherence C_Ir; and based on the generated pseudo noise sequences W_ 1  and W_ 2 . Further, a right channel noise signal is generated 304 based on the estimated right channel spectral characteristics H_I and spatial coherence C_Ir, and the pseudo noise sequences W_ 1  and W_ 2 . More details on how this is done have been previously described, and will be further described below. 
         [0050]    When the arrangement is of echo canceller type, the determining of spectral and spatial information and the generation of comfort noise is performed in the same entity, which could be an NLP. In that case, the spectral and spatial information is not necessarily signaled to another entity or node, but only processed within the echo canceller. The echo canceller could be part of/located in e.g. devices, such as smartphones; mixers and different types of network nodes. 
       Exemplifying Method Performed by a Transmitting Node, FIG.  4   
       [0051]    An exemplifying method, performed by a transmitting node, for supporting generation of comfort noise, will be described below with reference to  FIG. 4 . The transmitting node, which could alternatively be denoted e.g. encoding node, should be assumed to have technical character. The method is suitable for supporting generation of comfort noise for a plurality of audio channels, i.e. at least two audio channels. The transmitting node is operable to encode audio signals, and to apply silence suppression or a DTX scheme during periods of relative silence, e.g. periods of non-active speech. The transmitting node may be a wireless and/or wired device, such as a user equipment, UE, a tablet, a computer, or any network node receiving or otherwise obtaining audio signals to be encoded. The transmitting node may be part of the arrangement described above. 
         [0052]      FIG. 4  illustrates the method comprising determining  401  the spectral characteristics of audio signals on at least two input audio channels. The method further comprises determining  402  the spatial coherence between the audio signals on the respective input audio channels; and signaling  403  information about the spectral characteristics of the audio signals on the at least two input audio channels and information about the spatial coherence between the audio signals on the input audio channels, to a receiving node, for generation of comfort noise for at least two audio channels at the receiving node. 
         [0053]    In an example case with two input audio signals, i.e. stereo, the procedure of determining the spectral characteristics and spatial coherence may correspond to the one illustrated in  FIG. 2 , which is also described above. 
         [0054]    The signaling of information about the spectral characteristics and spatial coherence may comprise an explicit transmission of these characteristics, e.g. H_I, H_r, and C_Ir, or, it may comprise transmitting or conveying some other representation or indication, implicit or explicit, from which the spectral characteristics of the input audio signals and the spatial coherence between the input audio signals could be derived. 
         [0055]    The spatial coherence may be determined by applying a coherence function on a representation of the audio signals on the at least two input audio channels. For example, the spatial coherence C xy  between two signals, x and y of the at least two input audio signals, could be determined as: C xy =|S xy | 2 /(S xx   2 *S yy   2 ); where S xy  is the cross-spectral density between x and y, and S xx  and S yy  is the autospectral density of x and y respectively. 
         [0056]    In a stereo example, when denoting the input signals “I” and “r”, this would be denoted C_Ir=|S Ir | 2 /(S II   2 *S rr   2 ), or C_Ir=|S Ir | 2 /(S I   2 *S r   2 ) . It should be noted that S x ≈|H_x| 2 . Thus, when having determined the spectral characteristics H for each audio signal, or channel, and the spatial coherence C between the channels, these parameters should be signaled to a receiving node. In the case of applying the solution in an echo canceller, as described above, the determined parameters are used to generate comfort noise within the same entity. 
         [0057]    In a simplified implementation, the coherence C(f) could be estimated, i.e. approximated, with the cross-correlation of/between the audio signals on the respective input audio channels. This would be a scalar correlation factor, i.e. a constant value, which could be derived by integrating the coherence function C(f) over a frequency range. This would still give a better result than when not using any spatial coherence information. 
         [0058]    The input audio signals are “real” audio signals, from which the spectral characteristics and spatial coherence could be derived or determined in the manner described herein. This information should then be used for generating comfort noise, i.e. a synthesized noise signal which is to imitate or replicate the background noise on the input audio channels. 
       Exemplifying Method Performed by a Receiving Node, FIG.  5   
       [0059]    An exemplifying method, for generating comfort noise, performed by a receiving node, e.g. device or other technical entity, will be described below with reference to  FIG. 5 . The receiving node should be assumed to have technical character. The method is suitable for generation of comfort noise for a plurality of audio channels, i.e. at least two audio channels. 
         [0060]      FIG. 7  illustrates the method comprising obtaining  501  information about spectral characteristics of input audio signals on at least two audio channels. The method further comprises obtaining  502  information on spatial coherence between the input audio signals on the at least two audio channels. The method further comprises generating comfort noise for at least two output audio channels, based on the obtained information about spectral characteristics and spatial coherence. 
         [0061]    The obtaining of information could comprise either receiving the information from a transmitting node, or determining the information based on audio signals, depending on which type of entity that is referred to, in terms of echo canceller or decoding node, which will be further described below. The obtained information corresponds to the information determined or estimated as described above in conjunction with the methods performed by an arrangement or by a transmitting node. The obtained information about the spectral characteristics and spatial coherence may comprise the explicit parameters, e.g. for stereo: H_I, H_r, and C_Ir, or, it may comprise some other representation or indication, implicit or explicit, from which the spectral characteristics of the input audio signals and the spatial coherence between the input audio signals could be derived. 
         [0062]    The generating of comfort noise comprises generating comfort noise signals for each of the at least two output audio channels, where the comfort noise has spectral characteristics corresponding to those of the input audio signals, and a spatial coherence which corresponds to that of the input audio signals. How this may be done in detail has been described above and will be described further below. 
         [0063]    The generation of a comfort noise signal N_ 1  for an output audio channel may comprise determining a spectral shaping function H_ 1 , based on the information on spectral characteristics of one of the input audio signals and the spatial coherence between the input audio signal and at least another input audio signal. The generation may further comprise applying the spectral shaping function H_ 1  to a first random noise signal W_ 1  and to a second random noise signal W_ 2 (f), where W_ 2 (f) is weighted G(f) based on the coherence between the input audio signal and the at least another input audio signal. 
         [0064]    In the stereo example, the comfort noise signal N_I(f) for the left output audio channel may be derived as N_I(f)=H_ 1 (f)*(W_ 1 (f)+G(f)*W_ 2 (f)), where G(f) is derived as G(f)=sqrt(2−C_Ir(f)−sqrt((2−C_Ir(f))̂2−C_Ir(f))), and H_ 1 (f) is derived as H_ 1 (f)=H_I(f)/sqrt(1+G(f)̂2). This is also described further above in this description. As mentioned above and illustrated e.g. in  FIGS. 3 , W_ 1  (f) and W_ 2 (f) denotes random noise signals, which are generated as base for the comfort noise. The random noise signals are shaped into the respective comfort noise signals by use of spectral shaping functions or filters and components representing a contribution from spatial coherence. That is, looking at the example for stereo, N_I(f)=H_ 1 (f)*(W_ 1 (f)+G(f)*W_ 2 (f)), e.g. G(f)W_ 2 (f) is related to spatial coherence. 
         [0065]    Since the comfort noise is generated to replicate the background noise of the input audio signals, it is desired that the spatial coherence between the output comfort noise signals is as close as possible to the spatial coherence between the input audio signals. With input signals I and r, and output signals n_I and n_r, this corresponds to setting C_nInr =C_Ir. 
         [0066]    When the receiving node refers to the decoder side of a codec, and could be denoted e.g. decoding node, the obtaining of information comprises receiving the information from a transmitting node as the one described above. This would be the case e.g. when encoded audio is transferred between two devices in a wireless communication system, via e.g. D2D (device-to-device) communication or cellular communication via a base station or other access point. During periods of DTX, comfort noise may be generated in the receiving node, instead of that the background noise at the transmitting node is encoded and transferred in its entirety. That is, in this case, the information is derived or determined from input audio signals in another node, and then signaled to the receiving node. 
         [0067]    On the other hand, if the receiving node refers to a node comprising an echo canceller, which obtains the information and generates comfort noise, the obtaining of information comprises determining the information based on input audio signals on at least two audio channels. That is, the information is not derived or determined in another node and then transferred from the other node, but determined from a representation of the “real” input audio signals. The input audio signals may in that case be obtained via e.g. one or more microphones, or from a storage of multi channel audio files or data. 
         [0068]    At least when “receiving node” refers to a decoder side node, the receiving node is operable to decode audio, such as speech, and to communicate with other nodes or entities, e.g. in a communication network. The receiving node is further operable to apply silence suppression or a DTX scheme comprising e.g. transmission of SID (Silence Insertion Descriptor) frames during speech inactivity. The receiving node may be e.g. a cell phone, a UE, a tablet, a computer or any other device capable of wired and/or wireless communication and of decoding of audio. 
         [0000]    Exemplifying arrangements,  FIGS. 6 and 7   
         [0069]    Embodiments described herein also relate to an arrangement. The arrangement could comprise one entity, as illustrated in  FIG. 6 ; or two entities, as illustrated in  FIG. 7 . The one-entity arrangement  600  is illustrated to represent a solution related to e.g. an echo canceller, which both determines the spectral and spatial characteristics of input audio signals, and generates comfort noise base on these determined characteristics for a plurality of output channels. The arrangement  600  could be or comprise a receiving node as described below having an echo canceller function. 
         [0070]    The two-entity arrangement  700  is illustrated to represent a coding/decoding unit solution; where the determining of spectral and spatial characteristics is performed in one entity or node  710 , and then signaled to another entity or node  720 , where the comfort noise is generated. The entity  710  could be a transmitting node, as described below; and the entity  720  could be a receiving node as described below having a decoder side function. 
         [0071]    The arrangement comprises at least one processor  603 ,  711 ,  712 , and at least one memory  604 ,  712 ,  722 , where said at least one memory contains instructions  605 ,  713 ,  714  executable by said at least one processor. By the execution of the instructions, the arrangement is operative to determine the spectral characteristics of audio signals on at least two input audio channels; to determine the spatial coherence between the audio signals on the respective input audio channels; and further to generate comfort noise for at least two output audio channels, based on the determined spectral characteristics and spatial coherence. 
       Exemplifying Transmitting Node, FIG.  8   
       [0072]    Embodiments described herein also relate to a transmitting node  800 . The transmitting node is associated with the same technical features, objects and advantages as the method described above and illustrated e.g. in  FIGS. 2 and 4 . 
         [0073]    The transmitting node will be described in brief in order to avoid unnecessary repetition. The transmitting node  800  could be e.g. a user equipment UE, such as an LTE UE, a communication device, a tablet, a computer or any other device capable of wireless and/or wired communication. The transmitting node may be operable to communicate in one or more wireless communication systems, such as UMTS, E-UTRAN or CDMA 2000.and/or over one or more types of short range communication networks. 
         [0074]    Below, an exemplifying transmitting node  800 , adapted to enable the performance of an above described method performed by a transmitting node, will be described with reference to  FIG. 8 . 
         [0075]    The transmitting node is operable to apply silence suppression or a DTX scheme, and is operable to communicate with other nodes or entities in a communication network. 
         [0076]    The part of the transmitting node which is mostly related to the herein suggested solution is illustrated as a group  801  surrounded by a broken/dashed line. The group  801  and possibly other parts of the transmitting node is adapted to enable the performance of one or more of the methods or procedures described above and illustrated e.g. in  FIG. 4 . The transmitting node may comprise a communication unit  802  for communicating with other nodes and entities, and may comprise further functionality  807  useful for the transmitting node  110  to serve its purpose as communication node. These units are illustrated with a dashed line. 
         [0077]    The transmitting node illustrated in  FIG. 8  comprises processing means, in this example in form of a processor  803  and a memory  804 , wherein said memory is containing instructions  805  executable by said processor, whereby the transmitting node is operable to perform the method described above. That is, the transmitting node is operative to determine the spectral characteristics of audio signals on at least two input audio channels and to signal information about the spectral characteristics of the audio signals on the at least two input audio channels. The memory  804  further contains instructions executable by said processor whereby the transmitting node is further operative to determine the spatial coherence between the audio signals on the respective input audio channels; and to signal information about the spatial coherence between the audio signals on the respective input audio channels to a receiving node, for generation of comfort noise for at least two audio channels at the receiving node. 
         [0078]    As previously mentioned, the spatial coherence may be determined by applying a coherence function on a representation of the audio signals on the at least two input audio channels. Further, the spatial coherence C xy  between two signals, x and y, of the at least two signals, may be determined as: C xy =|S xy | 2 /(S xx   2 *S yy   2 ); where S xy  is the cross-spectral density between x and y, and S xx  and S yy  is the autospectral density of x and y respectively. The coherence may be approximated as a cross-correlation between the audio signals on the respective input audio channels. 
         [0079]    The computer program  805  may be carried by a computer readable storage medium connectable to the processor. The computer program product may be the memory  804 . The computer readable storage medium, e.g. memory  804 , may be realized as for example a RAM (Random-access memory), ROM (Read-Only Memory) or an EEPROM (Electrical Erasable Programmable ROM). Further, the computer program may be carried by a separate computer-readable medium, such as a CD, DVD, USB or flash memory, from which the program could be downloaded into the memory  804 . Alternatively, the computer program may be stored on a server or another entity connected to a communication network to which the transmitting node has access, e.g. via the communication unit  802 . The computer program may then be downloaded from the server into the memory  804 . The computer program could further be carried by a non-tangible carrier, such as an electronic signal, an optical signal or a radio signal. 
         [0080]    The group  801 , and other parts of the transmitting node, could be implemented e.g. by one or more of: a processor or a micro processor and adequate software and storage therefore, a Programmable Logic Device, PLD, or other electronic component(s)/processing circuit(s) configured to perform the actions mentioned above. Although the instructions described in the embodiments disclosed above are implemented as a computer program  805  to be executed by the processor  803 , at least one of the instructions may in alternative embodiments be implemented at least partly as hardware circuits. 
         [0081]    The group  801  may alternatively be implemented and/or schematically described as illustrated in  FIG. 9 . The group  901  comprises a determining unit  903 , for determining the spectral characteristics of audio signals on at least two input audio channels, and for determining the spatial coherence between the audio signals on the respective input audio channels. The group further comprises a signaling unit  904  for signaling information about the spectral characteristics of the audio signals on the at least two input audio channels, and for signaling information about the spatial coherence between the audio signals on the respective input audio channels to a receiving node, for generation of comfort noise for at least two audio channels at the receiving node 
         [0082]    The transmitting node  900  could be e.g. a user equipment UE, such as an LTE UE, a communication device, a tablet, a computer or any other device capable of wireless communication. The transmitting node may be operable to communicate in one or more wireless communication systems, such as UMTS, E-UTRAN or CDMA 2000.and/or over one or more types of short range communication networks. 
         [0083]    The spatial coherence may be determined, by the transmitting node  900 , by applying a coherence function on a representation of the audio signals on the at least two input audio channels. Further, the spatial coherence C xy  between two signals, x and y, of the at least two signals, may be determined as: C xy =|S xy | 2 /(S xx   2 *S yy   2 ); where S xy  is the cross-spectral density between x and y, and S xx  and S yy  is the autospectral density of x and y respectively. The coherence may be approximated as a cross-correlation between the audio signals on the respective input audio channels. 
         [0084]    The group  901 , and other parts of the transmitting node could be implemented e.g. by one or more of: a processor or a micro processor and adequate software and storage therefore, a Programmable Logic Device, PLD, or other electronic component(s)/processing circuit(s) configured to perform the actions mentioned above. 
         [0085]    The transmitting node  900 , illustrated in  FIG. 9 , may further comprise a communication unit  902  for communicating with other entities, one or more memories  907  e.g. for storing of information and further functionality  908 , such as signal processing and/or user interaction. 
       Exemplifying Receiving Node, FIG.  10   
       [0086]    Embodiments described herein also relate to a receiving node  1000 . The receiving node is associated with the same technical features, objects and advantages as the method described above and illustrated e.g. in  FIGS. 3 and 5 . The receiving node will be described in brief in order to avoid unnecessary repetition. The receiving node  1000  could be e.g. a user equipment UE, such as an LTE UE, a communication device, a tablet, a computer or any other device capable of wireless communication. The receiving node may be operable to communicate in one or more wireless communication systems, such as UMTS, E-UTRAN or CDMA 2000 and/or over one or more types of short range communication networks. 
         [0087]    The receiving node may be operable to apply silence suppression or a DTX scheme, and may be operable to communicate with other nodes or entities in a communication network; at least when the receiving node is described in a role as a decoding unit receiving spectral and spatial information from a transmitting node. 
         [0088]    Below, an exemplifying receiving node  1000 , adapted to enable the performance of an above described method performed by a receiving node, will be described with reference to  FIG. 10 . 
         [0089]    The part of the receiving node which is mostly related to the herein suggested solution is illustrated as a group  1001  surrounded by a broken/dashed line. The group  1001  and possibly other parts of the receiving node is adapted to enable the performance of one or more of the methods or procedures described above and illustrated e.g. in  FIG. 1, 3 or 5 . The receiving node may comprise a communication unit  1002  for communicating with other nodes and entities, and may comprise further functionality  1007 , such as further signal processing and/or communication and user interaction. These units are illustrated with a dashed line. 
         [0090]    The receiving node illustrated in  FIG. 10  comprises processing means, in this example in form of a processor  1003  and a memory  1004 , wherein said memory is containing instructions  1005  executable by said processor, whereby the transmitting node is operable to perform the method described above. That is, the receiving node is operative to obtain, i.e. receive or determine, the spectral characteristics of audio signals on at least two input audio channels. The memory  1004  further contains instructions executable by said processor whereby the receiving node is further operative to obtain, i.e. receive or determine, the spatial coherence between the audio signals on the respective input audio channels; and to generate comfort noise, for at least two output audio channels, based on the obtained information about spectral characteristics and spatial coherence. 
         [0091]    The generation of a comfort noise signal N_ 1  for an output audio channel may comprise determining a spectral shaping function H_ 1 , based on the information on spectral characteristics of one of the input audio signals and the spatial coherence between the input audio signal and at least another input audio signal. The generation may further comprise applying the spectral shaping function H_ 1  to a first random noise signal W_ 1  and on a second random noise signal W_ 2 (f), where W_ 2 (f) is weighted based on the coherence between the input audio signal and the at least another input audio signal. 
         [0092]    The obtaining of information may comprise receiving the information from a transmitting node. Alternatively, the receiving node may comprise an echo canceller, and the obtaining of information may then comprise determining the information based on input audio signals on at least two audio channels. That is, as described above, in case of the echo cancelling function, the determining of spectral and spatial characteristics are determined by the same entity, e.g. an NLP. In the latter case, the “receiving” in receiving node may be associated e.g. with the receiving of the at least two audio channel signals, e.g. via a microphone. 
         [0093]    The group  1001  may alternatively be implemented and/or schematically described as illustrated in  FIG. 11 . The group  1101  comprises an obtaining unit  1103 , for obtaining information about spectral characteristics of input audio signals on at least two audio channels; and for obtaining information about spatial coherence between the input audio signals on the at least two audio channels. The group  1101  further comprises a noise generation unit  1104  for generating comfort noise for at least two output audio channels, based on the obtained information about spectral characteristics and spatial coherence. 
         [0094]    The receiving node  1100  could be e.g. a user equipment UE, such as an LTE UE, a communication device, a tablet, a computer or any other device capable of wireless and/or wired communication. The receiving node may be operable to communicate in one or more wireless communication systems, such as UMTS, E-UTRAN or CDMA 2000 and/or over one or more types of short range communication networks. 
         [0095]    As for the receiving node  1000 , the generation of a comfort noise signal N_ 1  for an output audio channel may comprise determining a spectral shaping function H_ 1 , based on the information on spectral characteristics of one of the input audio signals and the spatial coherence between the input audio signal and at least another input audio signal. The generation may further comprise applying the spectral shaping function H_ 1  to a first random noise signal W_ 1  and on a second random noise signal W_ 2 (f), where W_ 2 (f) is weighted based on the coherence between the input audio signal and the at least another input audio signal. 
         [0096]    The obtaining of information may comprise receiving the information from a transmitting node. Alternatively, the receiving node may comprise an echo canceller, and the obtaining of information may then comprise determining the information based on input audio signals on at least two audio channels.. 
         [0097]    The group  1101 , and other parts of the receiving node could be implemented e.g. by one or more of: a processor or a micro processor and adequate software and storage therefore, a Programmable Logic Device, PLD, or other electronic component(s)/processing circuit(s) configured to perform the actions mentioned above. 
         [0098]    The receiving node  1100 , illustrated in  FIG. 11 , may further comprise a communication unit  1102  for communicating with other entities, one or more memories  1107  e.g. for storing of information and further functionality  1107 , such as signal processing, and/or user interaction. 
         [0099]    It is to be understood that the choice of interacting units or modules, as well as the naming of the units are only for exemplifying purpose, and arrangements, transmitting and receiving nodes suitable to execute any of the methods described above may be configured in a plurality of alternative ways in order to be able to execute the suggested process actions. 
         [0100]    It should also be noted that the units or modules described in this disclosure are to be regarded as logical entities and not with necessity as separate physical entities. 
         [0101]    All structural and functional equivalents to the elements of the above-described embodiments that are known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed hereby. Moreover, it is not necessary for a device or method to address each and every problem sought to be solved by the presently described concept, for it to be encompassed hereby.

Technology Category: 3