US2014270249A1PendingUtilityA1

Method and Apparatus for Estimating Variability of Background Noise for Noise Suppression

Assignee: MOTOROLA MOBILITY LLCPriority: Mar 12, 2013Filed: Jul 25, 2013Published: Sep 18, 2014
Est. expiryMar 12, 2033(~6.6 yrs left)· nominal 20-yr term from priority
G10L 15/20G10L 21/0208G10L 21/0216
50
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An electronic device measures noise variability of background noise present in a sampled audio signal, and determines whether the measured noise variability is higher than a high threshold value or lower than a low threshold value. If the noise variability is determined to be higher than the high threshold value, the device categorizes the background noise as having a high degree of variability. If the noise variability is determined to be lower than the low threshold value, the device categorizes the background noise as having a low degree of variability. The high and low threshold values are between a high boundary point and a low boundary point. The high boundary point is based on an analysis of files including noises that exhibit a high degree of variability, and the low boundary point is based on an analysis of files including noises that exhibit a low degree of variability.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method comprising:
 measuring noise variability of background noise present in a sampled audio signal;   determining whether the measure of noise variability is higher than a high threshold value or lower than a low threshold value;   if the noise variability is determined to be higher than the high threshold value, categorizing the background noise as having a high degree of variability;   if the noise variability is determined to be lower than the low threshold value, categorizing the background noise as having a low degree of variability;   wherein the high threshold value and low threshold value are between a high boundary point and a low boundary point;   wherein the high boundary point is based on an analysis of a first data set including noises that exhibit a high degree of variability; and   wherein the low boundary point is based on an analysis of a second data set including noises that exhibit a low degree of variability.   
     
     
         2 . The method of  claim 1 , further comprising:
 if the background noise is categorized as having a high degree of variability, suppressing the background noise using a first noise suppression algorithm; and   if the background noise is categorized as having a low degree of variability, suppressing the background noise using a second noise suppression algorithm.   
     
     
         3 . The method of  claim 1 , further comprising:
 if the noise variability is determined to be between the low threshold value and the high threshold value, categorizing the background noise as having a degree of variability of a previous frame.   
     
     
         4 . The method of  claim 1 , wherein the measuring of noise variability of the background noise comprises:
 determining whether a frame including the background noise is a noise update frame;   if the frame is determined not to be a noise update frame, categorizing the background noise as having a degree of variability of a previous frame; and   if the frame is determined to be a noise update frame, determining whether the frame is part of a sequence of contiguous noise frames.   
     
     
         5 . The method of  claim 4 , wherein the measuring of the noise variability of the background noise further comprises:
 if the frame is determined not to be part of a sequence of contiguous noise frames, categorizing the background noise as having the degree of variability of the previous frame.   
     
     
         6 . The method of  claim 4 , wherein if the frame is determined to be part of a sequence of contiguous noise frames, the measuring of the noise variability of the background noise further comprises:
 determining a maximum value of smoothed channel noise and a minimum value of smoothed channel noise in the sequence of contiguous noise frames;   computing a smoothed maximum dB difference using the maximum value of smoothed channel noise and the minimum value of smoothed channel noise; and   calculating the noise variability of the background noise using a ratio of a difference between the smoothed maximum dB difference and the low boundary point to a difference between the high boundary point and the low boundary point.   
     
     
         7 . The method of  claim 1 , wherein the measure of noise variability of the background noise is calculated using the following equation: 
       
         
           
             
               
                 MNV 
                 = 
                 
                   
                     1 
                     
                       NC 
                       × 
                       nb 
                     
                   
                    
                   
                     
                       ∑ 
                       
                         k 
                         = 
                         1 
                       
                       NC 
                     
                      
                     
                       
                         ∑ 
                         
                           l 
                           = 
                           1 
                         
                         nb 
                       
                        
                       
                         
                           ( 
                           
                             
                               D_smooth 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                             - 
                             
                               D_smooth 
                                
                               _low 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                           
                           ) 
                         
                         
                           ( 
                           
                             
                               D_smooth 
                                
                               _high 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                             - 
                             
                               D_smooth 
                                
                               _low 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                 
               
               , 
             
           
         
       
       wherein MNV denotes the measure of noise variability of the background noise, NC denotes a number of channels, nb+1 denotes a number of contiguous noise frames, k denotes a channel index, l denotes a look-back index, D_smooth(k, l) denotes a smoothed maximum dB difference of smoothed channel noise, D_smooth_high(k, l) denotes the high boundary point, and D_smooth_low(k, l) denotes the low boundary point. 
     
     
         8 . The method of  claim 7 , wherein the measure of noise variability of the background noise is calculated using the following equation: 
       
         
           
             
               
                 MNV 
                 = 
                 
                   
                     1 
                     
                       NC 
                       × 
                       n 
                     
                   
                    
                   
                     
                       ∑ 
                       
                         k 
                         ∈ 
                         S 
                       
                     
                      
                     
                       
                         ∑ 
                         
                           l 
                           ∈ 
                           Z 
                         
                       
                        
                       
                         
                           ( 
                           
                             
                               D_smooth 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                             - 
                             
                               D_smooth 
                                
                               _low 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                           
                           ) 
                         
                         
                           ( 
                           
                             
                               D_smooth 
                                
                               _high 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                             - 
                             
                               D_smooth 
                                
                               _low 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                 
               
               , 
             
           
         
       
       wherein S=(1, . . . , NC) and N≦NC denotes a number of elements in the set S, and
 wherein Z=(1, . . . , nb) and n≦nb denotes a number of elements in the set Z. 
 
     
     
         9 . The method of  claim 1 , wherein the measuring of noise variability of the background noise comprises:
 measuring noise level of the background noise;   determining whether the measured noise level of the background noise is lower than a noise level threshold value;   if the noise level of the background noise is determined to be lower than the noise level threshold value, calculating a bias energy value;   adding the bias energy value to smoothed channel noise to generate modified smoothed channel noise; and   measuring the noise variability of the background noise using the modified smoothed channel noise.   
     
     
         10 . The method of  claim 1 , wherein the measuring of noise variability of the background noise comprises:
 for a sequence of contiguous noise frames, computing an average frame energy using frame energies of the sequence of contiguous noise frames;   for each frame in the sequence of contiguous noise frames, subtracting the average frame energy from the frame energy to generate a frame energy difference;   subtracting the frame energy difference from corresponding channel noise energies to generate compensated channel noise energies; and   measuring the noise variability of the background noise using the compensated channel noise energies.   
     
     
         11 . A device comprising:
 a microphone that receives an audio signal;   a processor that is electrically coupled to the microphone, wherein the processor:
 measures noise variability of background noise present in the audio signal; 
 determines whether the measure of noise variability is higher than a high threshold value or lower than a low threshold value; 
 if the noise variability is determined to be higher than the high threshold value, categorizes the background noise as having a high degree of variability; and 
 if the noise variability is determined to be lower than the low threshold value, categorizes the background noise as having a low degree of variability; 
   a memory that is electronically coupled to the processor, wherein the memory stores the high threshold value, the low threshold value, a high boundary point, and a low boundary point;
 wherein the high threshold value and the low threshold value are between the high boundary point and the low boundary point; 
 wherein the high boundary point is based on an analysis of a first data set including noises that exhibit a high degree of variability; and 
 wherein the low boundary point is based on an analysis of a second data set including noises that exhibit a low degree of variability. 
   
     
     
         12 . The device of  claim 11 , wherein the processor further:
 suppresses the background noise using a first noise suppression algorithm, if the background noise is categorized as having a high degree of variability; and   suppresses the background noise using a second noise suppression algorithm, if the background noise is categorized as having a low degree of variability.   
     
     
         13 . The device of  claim 11 , wherein if the noise variability is determined to be between the low threshold value and the high threshold value, the processor further categorizes the background noise as having a degree of variability of a previous frame. 
     
     
         14 . The device of  claim 11 , wherein the processor further:
 determines whether a frame including the background noise is a noise update frame;   if the frame is determined not to be a noise update frame, categorizes the background noise as having a degree of variability of a previous frame; and   if the frame is a noise update frame, determines whether the frame is part of a sequence of contiguous noise frames.   
     
     
         15 . The device of  claim 14 , wherein if the frame is determined not to be part of a sequence of contiguous noise frames, the processor further categorizes the background noise as having a degree of variability of a previous frame. 
     
     
         16 . The device of  claim 14 , wherein if the frame is part of a sequence of contiguous noise frames, the processor further:
 determines a maximum value of smoothed channel noise and a minimum value of smoothed channel noise in the sequence of contiguous noise frames;   computes a smoothed maximum dB difference using the maximum value of smoothed channel noise and the minimum value of smoothed channel noise; and   calculates the noise variability of the background noise using a ratio of a difference between the smoothed maximum dB difference and the low boundary point to a difference between the high boundary point and the low boundary point.   
     
     
         17 . The device of  claim 11 , wherein the processor measures the noise variability of the background noise using the following equation: 
       
         
           
             
               
                 MNV 
                 = 
                 
                   
                     1 
                     
                       NC 
                       × 
                       nb 
                     
                   
                    
                   
                     
                       ∑ 
                       
                         k 
                         = 
                         1 
                       
                       NC 
                     
                      
                     
                       
                         ∑ 
                         
                           l 
                           = 
                           1 
                         
                         nb 
                       
                        
                       
                         
                           ( 
                           
                             
                               D_smooth 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                             - 
                             
                               D_smooth 
                                
                               _low 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                           
                           ) 
                         
                         
                           ( 
                           
                             
                               D_smooth 
                                
                               _high 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                             - 
                             
                               D_smooth 
                                
                               _low 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                 
               
               , 
             
           
         
       
       wherein MNV denotes the measure noise variability of the background noise, NC denotes a number of channels, nb+1 denotes a number of contiguous noise frames, k denotes a channel index, l denotes a look-back index, D_smooth(k, l) denotes a smoothed maximum dB difference of smoothed channel noise, D_smooth_high(k, l) denotes the high boundary point, and D_smooth_low(k, l) denotes the low boundary point. 
     
     
         18 . The device of  claim 17 , wherein the processor measures the noise variability of the background noise using the following equation: 
       
         
           
             
               
                 MNV 
                 = 
                 
                   
                     1 
                     
                       NC 
                       × 
                       n 
                     
                   
                    
                   
                     
                       ∑ 
                       
                         k 
                         ∈ 
                         S 
                       
                     
                      
                     
                       
                         ∑ 
                         
                           l 
                           ∈ 
                           Z 
                         
                       
                        
                       
                         
                           ( 
                           
                             
                               D_smooth 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                             - 
                             
                               D_smooth 
                                
                               _low 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                           
                           ) 
                         
                         
                           ( 
                           
                             
                               D_smooth 
                                
                               _high 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                             - 
                             
                               D_smooth 
                                
                               _low 
                                
                               
                                 ( 
                                 
                                   k 
                                   , 
                                   l 
                                 
                                 ) 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                 
               
               , 
             
           
         
       
       wherein S=(1, . . . , NC) and N≦NC denotes a number of elements in the set S, and
 wherein Z=(1, . . . , nb) and n≦nb denotes a number of elements in the set Z. 
 
     
     
         19 . The device of  claim 11 , wherein when the processor measures the noise variability of background noise present in the audio signal, the processor further:
 measures noise level of the background noise;   determines whether the measured noise level of the background noise is lower than a noise level threshold value;   if the noise level of the background noise is determined to be lower than the noise level threshold value, calculates a bias energy value;   adds the bias energy value to smoothed channel noise to generate modified smoothed channel noise; and   measures the noise variability of the background noise using the modified smoothed channel noise.   
     
     
         20 . The device of  claim 11 , wherein when the processor measures the noise variability of background noise in the audio signal, the processor further:
 for a sequence of contiguous noise frames, computes an average frame energy using frame energies of the sequence of contiguous noise frame;   for each frame in the sequence of contiguous noise frames, subtracts the average frame energy from the frame energy to generate a frame energy difference;   subtracts the frame energy difference from corresponding channel noise energies of each frame to generate compensated channel noise energies; and   measures the noise variability of the background noise using the compensated channel noise energies.   
     
     
         21 . A non-transitory computer readable storage medium having stored thereon a program executable by a computing processor to perform a method, the method comprising:
 measuring noise variability of background noise present of a sampled audio signal;   determining whether the measure of noise variability is higher than a high threshold value or lower than a low threshold value;   if the noise variability is determined to be higher than the high threshold value, categorizing the background noise as having a high degree of variability;   if the noise variability is determined to be lower than the low threshold value, categorizing the background noise as having a low degree of variability;   wherein the high threshold value and low threshold value are between a high boundary point and a low boundary point;   wherein the high boundary point is based on an analysis of a first data set including noises that exhibit a high degree of variability; and   wherein the low boundary point is based on analysis of a second data set including noises that exhibit a low degree of variability.

Join the waitlist — get patent alerts

Track US2014270249A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.