Abstract:
This application describes methods of signal processing and spatial audio synthesis. One such method includes accepting an auditory signal and generating an impression of auditory virtual reality by processing the auditory signal to impute a spatial characteristic on it via convolution with a plurality of head-related impulse responses. The processing is performed in a series of steps, the steps including: performing a first convolution of an auditory signal with a characteristic-independent, mixed-sign filter and performing a second convolution of the result of first convolution with a characteristic-dependent, sparse, non-negative filter. In some described methods, the first convolution can be pre-computed and the second convolution can be performed in real-time, thereby resulting in a reduction of computational complexity in said methods of signal processing and spatial audio synthesis.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims priority to U.S. Provisional Application Ser. No. 62/008,754 filed Jun. 6, 2014 which is incorporated herein by reference in its entirety. 
     
    
     BACKGROUND 
       [0002]    In order to create an improved experience during the use of virtual reality (VR), an auditory virtual reality (AVR) can be created by replicating sound scattering that would occur as a sound source interacts both with a simulated representation of a physical environment and with the specific anatomy of the listener, including the listeners head, ears, and torso. 
         [0003]    To understand a sound landscape, it is possible to measure the changes that sound undergoes as it interacts with the physical environment and the listener, as shown in the prior art, using a Head-Related Transfer Function (HRTF) that is specific to the listener. Various means for obtaining listener-specific HRTFs are shown in prior art  FIGS. 1 and 2 . 
         [0004]    In  FIG. 1 , a source (speaker) is placed at a given location and a generated sound is then recorded using a microphone placed in the ear canal of an individual. In order to obtain the HRTF corresponding to a different source location, the speaker is moved to that location and the measurement is repeated. HRTF measurements from thousands of points are needed and the process is time-consuming, tedious, and burdensome to the listener. 
         [0005]    In  FIG. 2 , a transmitter is located within the ear of the individual and a plurality of pressure wave sensors (microphones) are arranged in a microphone array surrounding the individual&#39;s head. The sound emanating from the transmitter is collected at the microphones in the form of pressure waves which are analyzed to extract the HRTF. To pinpoint the location of the sensors in reference to the transmitter, a microphone and head tracking system is attached to the individual&#39;s head to monitor position. 
         [0006]    A Head-Related Impulse Response (HRIR) filter is a listener-dependent and direction-dependent filter which can be derived from the inverse Fourier transform of the HRTF. Knowledge of the HRIR filter is useful because it can be applied to additional sound sources which have not been measured in order to understand the reaction of these sound sources to the listener and the environment via a convolution operation. 
         [0007]    Since the computational cost of the convolution operation depends on the size of the HRIR filter, identifying a sparse HRIR filter representation will allow efficient, zero-latency processing in a time domain as an alternative to the albeit low complexity but latency-laden processing using fast Fourier transforms (FFT) in the frequency domain. 
       SUMMARY 
       [0008]    Methods of signal processing and spatial audio synthesis are disclosed. 
         [0009]    In one example implementation, a method of signal processing is disclosed. The method includes accepting a physical signal having a characteristic indicative of a physical property in a first state and processing the physical signal to effect a transformation of the physical signal from the first state to a second state by applying a representation of a base filter to the physical signal. The representation of the base filter is a convolution of a plurality of shorter filters. 
         [0010]    In another example implementation, a method of spatial audio synthesis is disclosed. The method includes approximately decomposing a plurality of impulse responses each characterized by a spatial characteristic into a convolution of a characteristic-independent first filter and a characteristic-dependent second filter; accepting an auditory signal; and generating an impression of an auditory virtual reality by processing the auditory signal to impute the spatial characteristics on the auditory signal via convolution with the plurality of impulse responses. The processing is performed in a series of steps, the steps including: performing a first convolution of the auditory signal with the first filter and performing a second convolution between the result of the first convolution and the second filter. 
         [0011]    In another example implementation, a computing device is disclosed. The computing device includes one or more processors for controlling operations of the computing device and a memory for storing data and program instructions used by the one or more processors. The one or more processors are configured to execute instructions stored in the memory to: approximately decompose a plurality of impulse responses each characterized by a spatial characteristic into a convolution of a characteristic-independent first filter and a characteristic-dependent second filter; accept an auditory signal; and generate an impression of an auditory virtual reality by processing the auditory signal to impute the spatial characteristics on the auditory signal via convolution with the plurality of impulse responses. The processing is performed in a series of steps, the steps including: precomputing a first convolution of the auditory signal with the first filter and performing, in real time, a second convolution between the result of the first convolution and the second filter. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]    The description makes reference to the accompanying drawings wherein: 
           [0013]      FIG. 1  is a schematic of an exemplary arrangement of HRTF measurement according to the prior art; 
           [0014]      FIG. 2  is a schematic of another exemplary arrangement of HRTF measurement according to the prior art; 
           [0015]      FIG. 3  is a block diagram of a computing device; 
           [0016]      FIG. 4  is a representation of semi-non-negative matrix factorization generalizing time-domain convolution; 
           [0017]      FIG. 5  is a comparison of the number of operations between a FFT and direct convolution of a physical signal; 
           [0018]      FIG. 6  shows exemplary reflection maps corresponding to horizontal and vertical plane HRIRs (left-ear) trained under various transformations; 
           [0019]      FIG. 7  is a magnitude-frequency representation of resonance filters for CIPIC HRIRs (left-ear); 
           [0020]      FIG. 8  is a representation of cross-correlation between anthropometry and magnitude-frequency representations of resonance filters for representative CIPIC subjects; 
           [0021]      FIG. 9  is a magnitude-frequency representation of reflection filters on a vertical plane; 
           [0022]      FIG. 10  shows varying reconstruction errors under window and convolution transformations as applied to HRIRs; 
           [0023]      FIG. 11  shows that low-pass filtering of varying bandwidth improves spectral distortion reconstruction error for a sample HRIR; 
           [0024]      FIG. 12  shows that the lowest-restricted spectral distortion reconstruction error for a maximum frequency bin M H  is inversely related to bandwidth σ for a sample HRIR; 
           [0025]      FIG. 13  shows that sample reflections produced by L 1 -NNLS for varying λ preserve the dominant excitations in the time domain and the shape of the magnitude spectra; 
           [0026]      FIG. 14  shows that spectral distortion and the number of nonzero entries is lower (more accurate) for left-ear sparse reflections (L 1 -NNLS with a constant penalty term λ) near the ipsilateral side of the spherical coordinate grid; and 
           [0027]      FIG. 15  shows sparsity to spectral distortion reconstruction trade-off for L 1 -NNLS and L 1 -LS solutions of varying λ on horizontal and vertical plane HRIRs. 
       
    
    
     DETAILED DESCRIPTION 
       [0028]    A structured decomposition of HRIRs based on an extension to a non-negative matrix factorization algorithm is disclosed. The HRIR is re-expressed as a convolution between a direction-independent filter which is correlated with anthropometry and a direction-dependent filter where sparsity can be tuned at a slight cost to the HRIR reconstruction error. These filters can be applied to time-domain convolution with arbitrary source-signals at a rate much faster than convolution via a FFT. A simplified representation of the HRIR filter may also support prediction of changes to the HRIR filter based on a particular listener&#39;s anthropometry without obtaining measurements. Further, this same technique can be applied to simplify the representations of other types of impulse responses. 
         [0029]      FIG. 3  is a block diagram of a computing device, for example, for use in signal processing and spatial audio synthesis as described here. The computing device can be any type or form of single computing device or can be composed of multiple computing devices. The processing unit in the computing device can be a conventional central processing unit (CPU) or any other type of device, or multiple devices, capable of manipulating or processing information. A memory in the computing device can be a random access memory device (RAM) or any other suitable type of storage device. The memory can include data that is accessed by the CPU, using, for example, a bus. 
         [0030]    The computing device can also include secondary, additional, or external storage, for example, a memory card, flash drive, or any other form of computer readable medium. Applications installed within the computing device can be stored in whole or in part in the memory or in the external storage and then loaded into the memory as needed for processing. The applications installed within the computing device can include those configured for signal processing and spatial audio synthesis as described in more detail below. 
       INTRODUCTION 
       [0031]    HRTFs represent spectral characteristics of a subject&#39;s anthropometry (head, torso, outer-ear or pinna). Recent works on pinna-related transfer functions (PRTFs) (pinna contribution to the HRTF) have led to re-synthesis models based on the decomposition into ear-resonance and ear-reflection parts. A PRTF can thus be expressed as a convolution between a resonance component derived from the spectral envelope and a reflection component derived from estimated notches in amplitude. 
         [0032]    This disclosure addresses a similar decomposition formulation for a collection of HRIRs with two added constraints. Suppose an HRIR x is expressed as the time-domain convolution: 
         [0000]        x=f*g,g≧ 0.  [1]
 
         [0033]    Equation 1 includes “resonance filter” f shared by all HRIRs belonging to a subject and a sparse non-negative “reflection filter” g unique to the measurement direction. The resonance filter f is assumed direction-independent, mixed-signed, and can be interpreted as the averaged response over all anthropometry. The filter g is assumed direction-dependent, non-negative, and inclusive of values that are interpreted as instant reflections in time. The length of g is typically short as only the early reflections are modeled; f is conversely long due to sound scattering distances over the head. Moreover, jointly learning filters f and g is a well-posed problem using a modified semi-non-negative matrix factorization (semi-NMF) method. 
         [0034]    As shown in  FIG. 4 , semi-NMF approximately factorizes a mixed-signed matrix X into a mixed-signed matrix F and non-negative matrix G where X≈FG T  is optimal in the least-squares sense. This disclosure modifies the factorization so that the matrix F has a Toeplitz structure where the convolution operation is equivalent to a formulation of Toeplitz matrix-vector multiplication. The HRIRs, arranged as columns of the input matrix X, are obtained as a matrix-vector product of the Toeplitz matrix F characterized by the resonance filter f, and the reflection filters g arranged as the rows of matrix G. 
         [0035]    This Toeplitz constrained semi-NMF of HRIR x allows for efficient convolution with an arbitrary source-signal y via the associative and commutative property: 
         [0000]        y*x =( y*f )* g =( y*g )* f   [2]
 
         [0036]    For a known source-signal y the convolution (y*f) is direction-independent and can be stored with little overhead costs. During run-time, the direct convolution with a sparse reflection filter g (or multiple sparse filters in G) is fast. Conversely for a streaming source-signal y of small block-sizes, multiple convolutions with different g in y*g is fast during run-time as the remaining convolution with the longer resonance filter f occurs only once. 
         [0037]    As shown in  FIG. 5 , direct-convolution between long and short signals generally requires fewer operations than convolution via the FFT. The theoretical cost analysis between direct and FFT-based convolutions gives an approximate cross-over point at filter length K=68 where theoretical floating point multiplications (FPMs) of direct convolutions grow at a rate K per output compared to FFT implementation at a rate 
         [0000]    
       
         
           
             
               
                 34 
                 9 
               
                
               N 
                
               
                   
               
                
               
                 log 
                 2 
               
                
               N 
             
             
               N 
               + 
               K 
             
           
         
       
     
         [0000]    for sample size N=3×44100. 
         [0038]    The sparsity of reflection filters in G can be tuned by solving a regularized (L 1  norm penalty) non-negative least squares problem (L 1 -NNLS). The cost of direct convolution decreases linearly with respect to the number of nonzero entries (NNZs) in the reflection filter g. This presents a trade-off between run-time computational gains of convolution with a sparse g and the loss of quality in the HRIR reconstructed from g. The reconstruction errors are expressed by the root-mean square error (RMSE) and spectral distortion (SD) with respect to the reference HRIR/HRTF given by: 
         [0000]    
       
         
           
             
               
                 
                   
                     RMSE 
                     = 
                     
                       
                         
                           
                              
                             
                               X 
                               - 
                               
                                 
                                   F 
                                   ~ 
                                 
                                  
                                 
                                     
                                 
                                  
                                 
                                   G 
                                   T 
                                 
                               
                             
                              
                           
                           F 
                           2 
                         
                         MN 
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     
                       SD 
                        
                       
                         ( 
                         
                           
                             H 
                             
                               { 
                               j 
                               } 
                             
                           
                           , 
                           
                             H 
                             
                               { 
                               
                                 * 
                                 j 
                               
                               } 
                             
                           
                         
                         ) 
                       
                     
                     = 
                     
                       
                         
                           
                             1 
                             M 
                           
                            
                           
                             
                               ∑ 
                               
                                 i 
                                 = 
                                 1 
                               
                               M 
                             
                              
                             
                               
                                 ( 
                                 
                                   20 
                                    
                                   
                                     log 
                                     10 
                                   
                                    
                                   
                                     
                                        
                                       
                                         H 
                                         i 
                                         
                                           { 
                                           j 
                                           } 
                                         
                                       
                                        
                                     
                                     
                                        
                                       
                                         H 
                                         i 
                                         
                                           * 
                                           j 
                                         
                                       
                                        
                                     
                                   
                                 
                                 ) 
                               
                               
                                 2 
                                  
                                 
                                     
                                 
                               
                             
                           
                         
                       
                       . 
                     
                   
                 
               
               
                 
                   [ 
                   3 
                   ] 
                 
               
             
           
         
       
     
         [0039]    The SD is the sum of component magnitude ratios between the Fourier transform of a reference HRIR (HRTF) H {j} =F{X j } and the reconstruction H {*j} =F{FG J   T } which can be interpreted as a perceptual distance in the frequency domain. All factorizations are separately done on HRIRs that share the same ear and subject identity. All HRIRs can be pre-processed as taken from subjects in the Center for Image Processing and Integrated Computing (CIPIC) database, though HRIRs belonging to other subjects and from other databases are also possible. The methods described below can be generalized to any large collection of IRs (e.g. room IRs) for which a similar decomposition holds. 
       Semi-Non-Negative Toeplitz Matrix Factorization 
       [0040]    The original non-negative matrix factorization (NMF) was introduced in the statistics and machine learning literature as a way to analyze a collection of non-negative inputs X in terms of non-negative matrices F and G where X≈FG T . The non-negative quantities have seen useful interpretations for spectral clustering of multimedia data such as images and sound spectrograms. As mentioned before, here we hypothesize that they correspond to instantaneous reflections of resonant response on listener&#39;s anthropometry. For mixed-signed HRIR inputs, we adopt a related factorization below. 
         [0041]    Semi-NMF is a relaxation of the original NMF where the input matrix X and filter matrix F have mixed-signs but the elements of matrix G are constrained to be non-negative. Formally, the input matrix Xε           M×N  is factorized into matrix Fε           M×K  and matrix Gε           N×K  by minimizing the residual Frobenius norm cost function: 
         [0000]      min F,G   ∥X−FG   T ∥ F   2   =tr (( X−FG   T ) T ( X−FG   T )).  [4]
 
         [0042]    In equation 4, tr is the trace operator. The RMSE criterion in equation 3 is subsequently minimized at the solutions whereas the SD reconstruction error is not. Described further below, certain transformations of the cost function may decrease the SD error. 
         [0043]    The semi-NMF algorithm is as follows: For N samples in data matrix X, the i th  sample is given by the M-dimensional row vector X i =X :,i  and is expressed as the matrix-vector product of F and the K-dimensional row vector G i =G i,: . The number of components K is selected beforehand or found via data exploration and is typically much smaller than the input dimension M. The matrices F and G are jointly trained using an iterative updating algorithm that initializes a randomized G and performs successive updates as follows: 
         [0000]    
       
         
           
             
               
                 
                   
                     F 
                     ← 
                     
                       
                         XG 
                          
                         
                           ( 
                           
                             
                               G 
                               T 
                             
                              
                             G 
                           
                           ) 
                         
                       
                       
                         - 
                         1 
                       
                     
                   
                   , 
                   
                     
                       G 
                       ij 
                     
                     ← 
                     
                       
                         G 
                         ij 
                       
                        
                       
                         
                           
                             
                               
                                 ( 
                                 
                                   
                                     X 
                                     T 
                                   
                                    
                                   F 
                                 
                                 ) 
                               
                               ij 
                               + 
                             
                             + 
                             
                               
                                 [ 
                                 
                                   
                                     G 
                                      
                                     
                                       ( 
                                       
                                         
                                           F 
                                           T 
                                         
                                          
                                         F 
                                       
                                       ) 
                                     
                                   
                                   - 
                                 
                                 ] 
                               
                               ij 
                             
                           
                           
                             
                               
                                 
                                   ( 
                                   
                                     
                                       X 
                                       T 
                                     
                                      
                                     F 
                                   
                                   ) 
                                 
                                 ij 
                                 - 
                               
                                
                               
                                 [ 
                                 
                                   
                                     G 
                                      
                                     
                                       ( 
                                       
                                         
                                           F 
                                           T 
                                         
                                          
                                         F 
                                       
                                       ) 
                                     
                                   
                                   + 
                                 
                                 ] 
                               
                             
                             ij 
                           
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     
                       
                         ( 
                         Q 
                         ) 
                       
                       ij 
                       + 
                     
                     = 
                     
                       
                         
                            
                           
                             Q 
                             ij 
                           
                            
                         
                         + 
                         
                           Q 
                           ij 
                         
                       
                       2 
                     
                   
                   , 
                   
                     
                       
                         ( 
                         Q 
                         ) 
                       
                       ij 
                       - 
                     
                     = 
                     
                       
                         
                           
                              
                             
                               Q 
                               ij 
                             
                              
                           
                           - 
                           
                             Q 
                             ij 
                           
                         
                         2 
                       
                       . 
                     
                   
                 
               
               
                 
                   [ 
                   5 
                   ] 
                 
               
             
           
         
       
     
         [0044]    The positive definite matrix G T Gε           K×K  in equation 5 is small (fast to compute) and the entry-wise multiplicative-updates for G ensure that it retains non-negative entries. The method converges to the optimal solution that satisfies Karush-Kuhn-Tucker conditions as the update to G monotonically decrease the residual in the cost function in equation 4 for a fixed F and the update to F gives the optimal solution to the same cost function for a fixed G. The minimizer of this cost function is not equivalent to that of the SD error but is often a close approximation in practice. 
       Nearest Toeplitz Minimizer 
       [0045]    To modify semi-NMF for learning the resonance and reflection filters, a notation for a related problem is introduced: suppose F is approximated by a Toeplitz-structured matrix {tilde over (F)} where {tilde over (F)} ij =Θ i−j  for parameters Θ=[Θ 1−M , . . . , Θ K−1 ] T ; entries along diagonals and sub-diagonals of {tilde over (F)} constant. The Toeplitz notation is given by the following: 
         [0000]    
       
         
           
             
               
                 
                   
                     Top 
                      
                     
                       ( 
                       Θ 
                       ) 
                     
                   
                   = 
                   
                     
                       [ 
                       
                         
                           
                             
                               Θ 
                               0 
                             
                           
                           
                             
                               Θ 
                               1 
                             
                           
                           
                             … 
                           
                           
                             
                               Θ 
                               
                                 K 
                                 - 
                                 2 
                               
                             
                           
                           
                             
                               Θ 
                               
                                 K 
                                 - 
                                 1 
                               
                             
                           
                         
                         
                           
                             
                               Θ 
                               
                                 - 
                                 1 
                               
                             
                           
                           
                             
                               Θ 
                               0 
                             
                           
                           
                             
                               Θ 
                               1 
                             
                           
                           
                             … 
                           
                           
                             
                               Θ 
                               
                                 K 
                                 - 
                                 2 
                               
                             
                           
                         
                         
                           
                             ⋮ 
                           
                           
                             ⋱ 
                           
                           
                             ⋱ 
                           
                           
                             ⋱ 
                           
                           
                             ⋮ 
                           
                         
                         
                           
                             
                               Θ 
                               
                                 2 
                                 - 
                                 M 
                               
                             
                           
                           
                             … 
                           
                           
                             
                               Θ 
                               
                                 - 
                                 1 
                               
                             
                           
                           
                             
                               Θ 
                               0 
                             
                           
                           
                             
                               Θ 
                               1 
                             
                           
                         
                         
                           
                             
                               Θ 
                               
                                 1 
                                 - 
                                 M 
                               
                             
                           
                           
                             
                               Θ 
                               
                                 2 
                                 - 
                                 M 
                               
                             
                           
                           
                             … 
                           
                           
                             
                               Θ 
                               
                                 - 
                                 1 
                               
                             
                           
                           
                             
                               Θ 
                               0 
                             
                           
                         
                       
                       ] 
                     
                     . 
                   
                 
               
               
                 
                   [ 
                   6 
                   ] 
                 
               
             
           
         
       
     
         [0046]    This notation is fully specified by parameters {Θ 0 , . . . , Θ K−1 } and {Θ 0 , . . . , Θ 1−M } along the first row and column. One useful form is to represent the Toeplitz matrix as a linear combination of shift matrices S k ε           M×K  (ones along the k th  sub-diagonal and zero entries otherwise) as given by: 
         [0000]        {tilde over (F)}=Σ   k=1−M   K−1   S   k Θ k   ,S   ij   k =δ i,j−k .  [7]
 
         [0047]    The nearest Toeplitz matrix approximation of an arbitrary F minimizes the residual Frobenius norm cost function given by: 
         [0000]    
       
         
           
             
               
                 
                   
                     J 
                     = 
                     
                       
                         
                            
                           
                             F 
                             - 
                             
                               F 
                               ~ 
                             
                           
                            
                         
                         F 
                         2 
                       
                       = 
                       
                         tr 
                          
                         
                           ( 
                           
                             
                               
                                 F 
                                 T 
                               
                                
                               F 
                             
                             - 
                             
                               2 
                                
                               
                                 F 
                                 T 
                               
                                
                               
                                 F 
                                 ~ 
                               
                             
                             + 
                             
                               
                                 F 
                                 T 
                               
                                
                               
                                 F 
                                 ~ 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     
                       
                         ∂ 
                         J 
                       
                       
                         ∂ 
                         
                           Θ 
                           k 
                         
                       
                     
                     = 
                     
                       2 
                        
                       
                         tr 
                          
                         
                           ( 
                           
                             
                               
                                 ( 
                                 
                                   F 
                                   - 
                                   
                                     F 
                                     ~ 
                                   
                                 
                                 ) 
                               
                               T 
                             
                              
                             
                               
                                 ∂ 
                                 
                                   F 
                                   ~ 
                                 
                               
                               
                                 ∂ 
                                 
                                   Θ 
                                   k 
                                 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                   , 
                   
                     
                       
                         ∂ 
                         
                           F 
                           ~ 
                         
                       
                       
                         ∂ 
                         
                           Θ 
                           k 
                         
                       
                     
                     = 
                     
                       S 
                       k 
                     
                   
                 
               
               
                 
                   [ 
                   8 
                   ] 
                 
               
             
           
         
       
     
         [0048]    In equation 8, the partial derivative of J with respect to a parameter Θ k  is linear and independent of Θ j≠k  due to the trace term. By equating the derivatives to zero, the solutions Θ are given by: 
         [0000]    
       
         
           
             
               
                 
                   
                     Θ 
                     k 
                   
                   = 
                   
                     
                       
                         tr 
                          
                         
                           ( 
                           
                             
                               F 
                               T 
                             
                              
                             
                               S 
                               k 
                             
                           
                           ) 
                         
                       
                       
                         min 
                          
                         
                           ( 
                           
                             
                               k 
                               + 
                               M 
                             
                             , 
                             
                               K 
                               - 
                               k 
                             
                             , 
                             K 
                             , 
                             M 
                           
                           ) 
                         
                       
                     
                     . 
                   
                 
               
               
                 
                   [ 
                   9 
                   ] 
                 
               
             
           
         
       
     
         [0049]    Equation 9 is simply the means of the sub-diagonals of the full matrix F. It is thereby possible to obtain an approximate resonance filter from the unconstrained solution to F=XG (G T  G) −1  in equation 5 although this would not be the minimizer of the semi-NMF objective function in equation 4. 
       Unique Toeplitz Minimizer 
       [0050]    We define the Toeplitz constrained semi-NMF problem and solution as follows: Suppose F is specified by a Toeplitz matrix given in equations 6 and 7. Then, the cost function in equation 4 is quadratic (convex) with respect to each Θ k  and the set of parameters Θ has a unique minimizer. The partial derivatives of the cost function are given by: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       ∂ 
                       
                         
                            
                           
                             X 
                             - 
                             
                               
                                 F 
                                 ~ 
                               
                                
                               
                                 G 
                                 T 
                               
                             
                           
                            
                         
                         F 
                         2 
                       
                     
                     
                       ∂ 
                       
                         Θ 
                         k 
                       
                     
                   
                   = 
                   
                     
                       
                         ∂ 
                         
                           tr 
                            
                           
                             ( 
                             
                               
                                 
                                   ( 
                                   
                                     X 
                                     - 
                                     
                                       
                                         F 
                                         ~ 
                                       
                                        
                                       G 
                                     
                                   
                                   ) 
                                 
                                 T 
                               
                                
                               
                                 ( 
                                 
                                   X 
                                   - 
                                   
                                     
                                       F 
                                       ~ 
                                     
                                      
                                     
                                       G 
                                       T 
                                     
                                   
                                 
                                 ) 
                               
                             
                             ) 
                           
                         
                       
                       
                         ∂ 
                         
                           Θ 
                           k 
                         
                       
                     
                     = 
                     
                       2 
                        
                       
                         
                           tr 
                            
                           
                             ( 
                             
                               
                                 ( 
                                 
                                   
                                     G 
                                     T 
                                   
                                    
                                   G 
                                    
                                   
                                     
                                       ∑ 
                                       
                                         i 
                                         = 
                                         
                                           1 
                                           - 
                                           K 
                                         
                                       
                                       
                                         M 
                                         - 
                                         1 
                                       
                                     
                                      
                                     
                                       
                                         S 
                                         
                                           k 
                                           T 
                                         
                                       
                                        
                                       
                                         S 
                                         i 
                                       
                                        
                                       
                                         Θ 
                                         i 
                                       
                                     
                                   
                                 
                                 ) 
                               
                               - 
                               
                                 
                                   S 
                                   
                                     k 
                                     T 
                                   
                                 
                                  
                                 XG 
                               
                             
                             ) 
                           
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   [ 
                   10 
                   ] 
                 
               
             
           
         
       
     
         [0051]    In equation 10, the product of shift matrices S k     T    S i  can be expressed as the square shift matrix  S   i−k . Unlike the nearest Toeplitz approximation, the partial derivatives of in equation 10 with respect to Θ 1−M≦k≦K−1  are linearly related to each other. Setting the partial derivatives to zero, the set of parameters Θ are jointly solved in a second linear equation AΘ=b defined as follows: Aε           |Θ|×|Θ| , where |Θ|=M+K−1 is a Toeplitz square matrix and bε           M×1  is a vector with entries are given by: 
         [0000]        A   M+k,M+i   =tr ( G   T   G  S     i−k ), b,   m+k   =tr ( S   k     T     XG ).  [11]
 
         [0052]    For positive-definite A, the matrix {tilde over (F)} is parameterized by the solution to the linear system given by: 
         [0000]        {tilde over (F)}=Top (Θ),Θ= A   −1   b.   [12]
 
         [0053]    Equation 12 is the real and unique minimizer of equation 4. Iterating between equation 12 and computing the multiplicative-update to matrix G via equation 5 gives the optimal solution upon convergence. The overall training process is given in algorithm 1 listed at the end of this detailed description. 
       Transformed Toeplitz Minimizer 
       [0054]    The original cost function in equation 4 can be generalized under linear transformations of the residuals with the aim of finding solutions with lower SD reconstruction errors. The modified semi-NMF problem minimizes a fixed linear transformation Dε           M*×M  of the reconstruction error given by: 
         [0000]      min {tilde over (F)},G   ∥D ( X−{tilde over (F)}G   T )∥ F   2 .  [13]
 
         [0055]    In equation 13, F and G are subject to the same constraints as before, and D T D must have full-rank. The solution to {tilde over (F)} in equation 12 of the modified linear system is given by: 
         [0000]        A   M+k,M+i   =tr ( G   T   GS   k     T     D   T   DS   i ), b   M+k   =tr ( S   k     T     D   T   DXG ).  [14]
 
         [0056]    The multiplicative update rule for G is given by 
         [0000]    
       
         
           
             
               
                 
                   
                     G 
                     ij 
                   
                   ← 
                   
                     
                       G 
                       ij 
                     
                      
                     
                       
                         
                           
                             
                               
                                 ( 
                                 
                                   
                                     X 
                                     T 
                                   
                                    
                                   
                                      
                                     T 
                                   
                                    
                                    
                                    
                                   
                                       
                                   
                                    
                                   
                                     F 
                                     ~ 
                                   
                                 
                                 ) 
                               
                               ij 
                               + 
                             
                             + 
                             
                               
                                 [ 
                                 
                                   
                                     G 
                                      
                                     
                                       ( 
                                       
                                         
                                           
                                             F 
                                             ~ 
                                           
                                           T 
                                         
                                          
                                         
                                            
                                           T 
                                         
                                          
                                          
                                          
                                         
                                             
                                         
                                          
                                         
                                           F 
                                           ~ 
                                         
                                       
                                       ) 
                                     
                                   
                                   - 
                                 
                                 ] 
                               
                               ij 
                             
                           
                           
                             
                               
                                 ( 
                                 
                                   
                                     X 
                                     T 
                                   
                                    
                                   
                                      
                                     T 
                                   
                                    
                                    
                                    
                                   
                                       
                                   
                                    
                                   
                                     F 
                                     ~ 
                                   
                                 
                                 ) 
                               
                               ij 
                               - 
                             
                             + 
                             
                               
                                 [ 
                                 
                                   
                                     G 
                                      
                                     
                                       ( 
                                       
                                         
                                           
                                             F 
                                             ~ 
                                           
                                           T 
                                         
                                          
                                         
                                            
                                           T 
                                         
                                          
                                          
                                          
                                         
                                             
                                         
                                          
                                         
                                           F 
                                           ~ 
                                         
                                       
                                       ) 
                                     
                                   
                                   + 
                                 
                                 ] 
                               
                               ij 
                             
                           
                         
                       
                       . 
                     
                   
                 
               
               
                 
                   [ 
                   15 
                   ] 
                 
               
             
           
         
       
     
         [0057]    {tilde over (F)} and G can be iterated until convergence. 
         [0058]    Two common transformations D from signal-processing are considered whose bandwidth parameters σ can be tuned. First, the window transform is characterized by the squared exponential filter 
         [0000]    
       
         
           
             
               
                 υ 
                 σ 
               
                
               
                 ( 
                 x 
                 ) 
               
             
             = 
             
                
               
                 - 
                 
                   
                     x 
                     2 
                   
                   
                     σ 
                     2 
                   
                 
               
             
           
         
       
     
         [0000]    and is given by: 
         [0000]        D   W =diag(υ σ (0:  M− 1))ε           M×M .  [16]
 
         [0059]    Equation 16 is the convolution of a signal with an exponential filter in the frequency domain (treated as if it were the time-domain) and is equivalent to element-wise multiplication between time-domain residuals and the squared exponential filter υ σ (x) of inverse bandwidth; early time-bin residuals contribute more to the overall error in equation 13. Conversely, the convolution transform is characterized by the Gaussian filter 
         [0000]    
       
         
           
             
               
                  
                 σ 
               
                
               
                 ( 
                 x 
                 ) 
               
             
             = 
             
               
                 1 
                 
                   σ 
                    
                   
                     
                       2 
                        
                       π 
                     
                   
                 
               
                
               
                  
                 
                   - 
                   
                     
                       x 
                       2 
                     
                     
                       2 
                        
                       
                         σ 
                         
                           2 
                            
                           
                               
                           
                         
                       
                     
                   
                 
               
             
           
         
       
     
         [0000]    and is given by: 
         [0000]        D   C   =Top (Θ C )ε           M×M ,Θ 1:M−1   C   =N   σ (1: M− 1),Θ 0:1−M   C   =N   σ (0:1− M ).  [17]
 
         [0060]    This is equivalent to element-wise multiplication of the frequency-domain residuals with a Gaussian filter of inverse bandwidth; low-frequency residuals contribute more to the overall error in equation 13. 
       Resonance and Reflection Filter Training 
       [0061]    For the general convolution operation between a resonance and a reflection filter f and g, the native Toeplitz matrix representation of {tilde over (F)} given in equation 6 must be further constrained to simulate zero-padding the signals which preserves associative and commutative properties. Direct-convolution can be exactly expressed as the constrained Toeplitz matrix-vector product given by: 
         [0000]    
       
         
           
             
               
                 
                   
                     X 
                     i 
                   
                   = 
                   
                     
                       
                         [ 
                         
                           
                             
                               
                                 Θ 
                                 0 
                               
                             
                             
                               0 
                             
                             
                               … 
                             
                             
                               0 
                             
                           
                           
                             
                               
                                 Θ 
                                 
                                   - 
                                   1 
                                 
                               
                             
                             
                               
                                 Θ 
                                 0 
                               
                             
                             
                               0 
                             
                             
                               … 
                             
                           
                           
                             
                               ⋮ 
                             
                             
                               … 
                             
                             
                               ⋱ 
                             
                             
                               0 
                             
                           
                           
                             
                               
                                 Θ 
                                 
                                   K 
                                   - 
                                   M 
                                 
                               
                             
                             
                               … 
                             
                             
                               
                                 Θ 
                                 
                                   - 
                                   1 
                                 
                               
                             
                             
                               
                                 Θ 
                                 0 
                               
                             
                           
                           
                             
                               0 
                             
                             
                               
                                 Θ 
                                 
                                   K 
                                   - 
                                   M 
                                 
                               
                             
                             
                               … 
                             
                             
                               
                                 Θ 
                                 
                                   - 
                                   1 
                                 
                               
                             
                           
                           
                             
                               ⋮ 
                             
                             
                               … 
                             
                             
                               ⋱ 
                             
                             
                               ⋮ 
                             
                           
                           
                             
                               0 
                             
                             
                               … 
                             
                             
                               0 
                             
                             
                               
                                 Θ 
                                 
                                   K 
                                   - 
                                   M 
                                 
                               
                             
                           
                         
                         ] 
                       
                        
                       
                         [ 
                         
                           
                             
                               
                                 G 
                                 
                                   i 
                                    
                                   
                                       
                                   
                                    
                                   1 
                                 
                               
                             
                           
                           
                             
                               ⋮ 
                             
                           
                           
                             
                               
                                 G 
                                 iK 
                               
                             
                           
                         
                         ] 
                       
                     
                     . 
                   
                 
               
               
                 
                   [ 
                   18 
                   ] 
                 
               
             
           
         
       
     
         [0062]    In equation 18, the parameters {Θ K−M−1 , . . . , Θ 1−M , Θ 1 , . . . , Θ K } are set to constant zero. Only the parameters {Θ 0 , . . . Θ K−M } are solved for in a smaller M−K+1×M−K+1 sized linear system following equations 11 and 12 and assigned to the resonance filter given by: 
         [0000]        f={Θ   0 , . . . Θ k−M }ε           M−K+1   [19]
 
         [0063]    The resonance and reflection filters are jointly trained in Algorithm 1 for HRIRs (same-ear, same-subjects) for 50 iterations under window transformations D W , σ={15, 30, ∞}, convolution transform D C , σ={0.1, 0.75, 1.0}, number of samples N=1250, initial time-bins M=200, and filter length K=25. Note that the identity transform D=I is equivalent to the window convolution case D W , σ=∞. Finding an optimal transformation is difficult as the bandwidth parameters σ for window and convolution transformations are not easily trained; the cost function is non-linear when both F and G are fixed. 
         [0064]    As shown in  FIG. 6  reflecting experiments with various filter lengths K, most of the signal energy in the min-phase HRIRs is concentrated in the first 25 taps; this corresponds to 0.5625 ms or a rough distance of 19 cm that the sound travels through air after the onset reflection. For K=25 and the identity transform, the early reflections in the HRIRs can be summarized by three to five non-negative bands in the reflections. The later dense reflections along the HRIR tails (beyond 25 taps) are implicitly modeled by the convolution between the early reflections in G and the resonance filter f. The window transform D W  for small σ flattens later time-domain residuals allowing earlier reflections to be more accurately modeled. The convolution transform D C  for large σ flattens high-frequency domain residuals allowing long periodic reflections to be more accurately modeled. 
       Spectral Filter Analysis 
       [0065]    While the resonance and reflection filters are trained in the time-domain, their frequency-domain representations may provide insights to their relationship with anthropometry. 
         [0066]    As shown in  FIG. 7 , filters trained under the identity transformation D=I include resonance filters f trained on left-ear HRIRs across several CIPIC subjects. These resonance filters f have magnitude-frequency responses the are indistinguishable up to 3 kHz and share resonant frequency centers along the ranges of 4-5, 6.5-7, 9-12, 15-16, and 19-20 kHz. The lowest resonant frequency may correspond with Shaw&#39;s omni-directional frequency mode and the higher-frequency centers with individual pinna-related anthropometry. 
         [0067]    To provide a comprehensive investigation, and as shown in  FIG. 8 , Pearson-correlations between magnitude-frequency resonance filters f and the anthropometry features across 35 CIPIC subjects are computed. Anthropometry features include both pinna-related (left or right-ear) and non-pinna related features. The left-ear resonance filters are cross-correlated with only the left-ear pinna-related and non-pinna related features. Then, the analogous process is repeated for the right ear. The agreement between the two sets of cross-correlations is computed by taking their product between same-type features. More positive entries implies a high correlation with anthropometry and agreement between ear types. The results show that non-pinna related features x 6,9  are most correlated to low-frequency resonances at 1-8 kHz, x 1 ,d 8  for mid-frequencies 9-11 kHz, and d 3,7  for higher-frequencies 13-16 kHz. The t 2  pinna flare angle is interestingly correlated to the 4 kHz resonance. 
         [0068]    For completeness,  FIG. 9  shows the magnitude-frequency representation of the reflection filters on the vertical plane. The effects of torso and shoulder reflections are captured in the magnitude spike along the low frequency 0-2 kHz range most apparent along low-elevations. Three common notch bands increase in frequency toward higher elevations (top of the head) which agrees with similar observations in the prior art. 
       Error Analysis 
       [0069]      FIG. 10  shows varying reconstruction errors under different transformations, that is, under window and convolution transformations of HRIRs. The transformed root mean squared error (TRMSE) is proportional to the cost function in equation 13 and monotonically decreases until convergence. The resonance filters resemble periodic functions that decay in time which is most pronounced in the case of transformation D C , σ=15. For the fixed set of transformations (bandwidths σ), the effects on the trained filters&#39; SD reconstruction error are as follows: the identity transform (window transform D W , σ=∞) achieves the lowest mean SD error of 2.9 dB. Aggressive windowing (D W , σ=15) or smoothing in the frequency domain increases the mean SD error to 4.5 dB. Aggressive convolution or applying a low-pass Gaussian filter (D C , σ=1.0) gives the highest mean SD error of 8.9 dB. 
       Optimizing Bandwidth σ for Individual HRIRs 
       [0070]    While the filters learned under non-identity transformations do not improve upon the mean SD reconstruction error, an alternative approach for improving SD reconstruction errors of individual HRIRs can be considered. For a fixed resonance filter f trained under the identity transformation, one can separately solve for reflections G i  under different transformations (D W , D C  varying σ) of the residuals in a non-negative least squares (NNLS) problem given by: 
         [0000]      min G     i     ∥D ( {tilde over (F)}G   i   T   −X   i )∥ 2   2   ,s·t·G   i ≧0.  [20]
 
         [0071]    Tuning the bandwidth parameter σ for each HRIR X i  produces reflection filters G i  with different SD reconstruction errors. Moreover, the computed reflections can be substituted in place of matrix updates to G in equations 5 and 15 but are computationally more demanding as the substitution requires O(K 3 ) operations for each of the N reflections. The choice of the bandwidth term σ in the window transform D W  causes a variable amount of smoothing in the frequency domain of the residuals. 
         [0072]    As shown in  FIG. 11 , the SD errors, if taken along adjacent frequency bands, are correlated with the smooth magnitude HRTFs in the frequency domain. As bandwidth σ→∞, the NNLS reflections tend toward the original reflections under the identity transformation. However, the actual minimum SD occurs at a finite σ=30 for the sample HRIR. 
         [0073]    The choice of the bandwidth term σ in the convolution transform D C  affects the SD reconstruction error in equation 3 along different frequency bands. Consider the restricted SD criterion given by: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       SD 
                       
                         M 
                         H 
                       
                     
                      
                     
                       ( 
                       
                         
                           H 
                           
                             { 
                             j 
                             } 
                           
                         
                         , 
                         
                           H 
                           
                             { 
                             
                               * 
                               j 
                             
                             } 
                           
                         
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         
                           1 
                           
                             M 
                             H 
                           
                         
                          
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               1 
                             
                             
                               M 
                               H 
                             
                           
                            
                           
                             
                               ( 
                               
                                 20 
                                  
                                 
                                     
                                 
                                  
                                 
                                   log 
                                   10 
                                 
                                  
                                 
                                   
                                      
                                     
                                       H 
                                       i 
                                       
                                         { 
                                         j 
                                         } 
                                       
                                     
                                      
                                   
                                   
                                      
                                     
                                       H 
                                       i 
                                       
                                         { 
                                         
                                           j 
                                           * 
                                         
                                         } 
                                       
                                     
                                      
                                   
                                 
                               
                               ) 
                             
                             
                               2 
                                
                               
                                   
                               
                             
                           
                         
                       
                     
                     . 
                   
                 
               
               
                 
                   [ 
                   21 
                   ] 
                 
               
             
           
         
       
     
         [0074]    As shown in  FIG. 12 , the maximum frequency bin M H  in equation 21 is constrained to be 1≦M H ≦M. For M H ≦80 (17.64 kHz), the optimal bandwidth term σ is inversely related to the maximum frequency bin M H . Reconstruction errors beyond M H &gt;80 are more sensitive due to low magnitude of high-frequency residuals; a much wider frequency-domain window bandwidth would be necessary. 
       Sparse Reflection Reconstruction 
       [0075]    To introduce sparsity or to restrict the NNZ entries for reflection filters in G, the trained Toeplitz filter {tilde over (F)} can be fixed and solved for each reflection filter G i  in a penalized L 1 -NNLS problem given by: 
         [0000]      min G     i     ∥D ( FG   i   T   −X   i )∥ 2   2   +λ|G   i | 1   ,s·t·G   i ≧0.  [22]
 
         [0076]    The addition of a regularization term λ on the L 1  norm of the reflection filter G i  affects the sparsity as increasing λ decreases the NNZ. For the identity transform D=I, the residual norm is directly minimized while penalizing for non-sparsity in the reflection filter G i . It is also practical to discard solution entries that fall below a constant threshold as they contribute little to the overall reconstruction. In a given reflection G i , all entries G ij ≦10 −4  are zeroed. 
         [0077]    Referring back to  FIG. 6 , the sparse reflections are illustrated where early reflections of the original HRIRs are shown for horizontal and vertical plane HRIRs. The lower NNZ count in the L 1 -NNLS solutions sparsifies the non-negative components of the original reflections into distinct bands. Penalizing the L 1  norm magnifies the effect of each type of transform as late and non-periodic components are discarded in the window and convolution transforms respectively. The SD reconstruction error to NNZ trade-offs are shown below in Table 1 where the identity transform achieves the expected lowest SD error and loss of accuracy before and after half the nonzero entries are discarded. For vertical-plane HRIRs, SD reconstruction error degrades little for sparser reflections. 
         [0000]    
       
         
               
             
               
               
               
               
             
               
               
               
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                 [Mean Spectral Distortion/Number of Nonzero Entries] 
               
             
          
           
               
                   
                 D W , σ = ∞ 
                 D W , σ = 15 
                 D C , σ = 1.0 
               
               
                   
                   
               
             
          
           
               
                   
                 H-Plane 
                   3/22.74 
                 8.1/24.2 
                 4.7/21.4  
               
               
                   
                 H-Plane Sparse 
                 5.3/11.7 
                 9.5/9.94 
                 6.2/14.72 
               
               
                   
                 M-Plane 
                 8.6/22.5 
                   10/23.98 
                 8.4/21.04 
               
               
                   
                 M-Plane Sparse 
                  8.6/11.34 
                   11/10.02 
                 9.3/13.9  
               
               
                   
                   
               
             
          
         
       
     
       Optimizing Regularization Term λ for Individual HRIRs 
       [0078]    Sparsity reduces the cost of the direct convolution X i =f*G i  to O(|Θ| 0 |G i | 0 ) operations where |Θ| 0  and |G i | 0  are the number of nonzero entries in the filter parameters. 
         [0079]    As shown in  FIG. 13 , by varying the regularization term λ in equation 22, different sparsity and reconstruction errors are achieved: a 4 dB SD with 8 NNZs degrades to 6 dB SD at 4 NNZs. 
         [0080]      FIG. 14  shows the variability between sparsity and reconstruction error on the full set of HRIRs over the spherical coordinate grid. Variance due to total energy in the HRIRs is accounted for as the HRIRs are normalized in the preprocessing step. Measurements closer to the ipsilateral side of the head achieve lower NNZ. These HRIRs are better summarized by fewer early reflections and obtain the lowest SD errors. Measurements closer to the contralateral side of the head experience distortions along later dense reflections that are not fully accounted for in the model described here. 
       Comparison with Unconstrained Solutions 
       [0081]    One method of empirical validation is to compare our solutions to the unconstrained regularized least squares reconstructions (L 1 -LS) of HRIR X i  given by: 
         [0000]      min {circumflex over (x)}   ∥D ( {circumflex over (x)}−X   i )∥ 2   2   +λ|G   i | 1 .  [23]
 
         [0082]    In equation 23, the {circumflex over (x)}ε           M×1  and the {circumflex over (x)} j &lt;10 −4  entries are identically zeroed. Without the non-negative constraints under the identity transform D=I, the solution {circumflex over (x)} contains only the large magnitude components {circumflex over (x)}≈X i  (low magnitude components are discarded to induce sparsity). Thus, the L 1 -NNLS sparse reflections found in equation 22 can be empirically evaluated against the L 1 -LS reference solutions found in equation 23 in terms of the sparsity and reconstruction errors. 
         [0083]    In  FIG. 15 , for evenly spaced horizontal and vertical plane HRIRs, the two methods are evaluated over a grid of penalty terms λ where the minimum SD reconstruction errors are recorded over the first 25 NNZ bins. For all HRIRs, the L 1 -NNLS solutions achieve the minimum reconstruction error under 2 dB SD. In half the cases, the L 1 -NNLS solutions have SD errors strictly less than the L 1 -LS solutions. This implies that the decomposition described here finds a sparse set of early reflections that explains the spectral characteristics of the HRIR better than the dominant magnitude components of the original HRIR. 
         [0084]    In practice, the penalty term λ for each HRIR can be independently tuned via a binary search for a target sparsity and reconstruction error range. The target NNZ is device dependent and can be optimized for a sparsity range such that direct convolution is faster than the FFT implementation; digital signal processors perform efficient direct convolution via hardware delay-lines. The target reconstruction error can depend on the desired fidelity of spatialization; multiple low-magnitude reverberations from sound scattering off of distant geometry in the environment may be coarsely modeled. 
       CONCLUSION 
       [0085]    A modified semi-NMF algorithm for Toeplitz constrained matrices has been presented here. The factorization decomposed a collection of HRIRs into convolutions between a common resonance filter and a collection of reflection filters. Resonance filters were direction-independent and shown to correlate with anthropometry. Reflection filters were direction-dependent and composed of non-negative entries whose sparsity and reconstruction error could be tuned via an L 1 -NNLS solver under window and convolution transformations of various bandwidths. The reconstructed HRIRs from the decomposition can be compared to L 1 -LS reference solutions where the former had a better sparsity to SD error trade-off necessary for both efficient and accurate direct convolution. In short, the decomposed filters described here may be useful for predicting HRIRs from anthropometry, a problem of current interest. 
         [0086]    Algorithm 1, shown below, factorizes input HRIR matrix X into Toeplitz matrix {tilde over (F)} and sparse and non-negative reflections G. 
         [0000]    
       
         
               
             
               
             
               
               
             
               
             
               
               
             
           
               
                   
               
               
                 [Algorithm 1: Modified Semi-NMF for Toeplitz Constraints] 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 Require: Filter Length K, transformation matrix D ∈             M * ×M , 
               
               
                 HRIR matrix X ∈             M×N , max-iterations T 
               
             
          
           
               
                 1: G ← rand(N,K) 
                 \\ Randomize reflections 
               
               
                 2: for t = 1 to T do 
               
               
                 3:   Θ ← A −1     b     
                 \\ Solve for resonance via equations 14, 12 
               
               
                 4:   {tilde over (F)} ← Top(Θ) 
                 \\ Form Toeplitz matrix in equations 6, 18 
               
               
                 5:   Update G 
                 \\ Element-wise multiplicative update via 
               
             
          
           
               
                 equation 15 or NNLS solutions via equation 20 
               
               
                 6:   end for 
               
             
          
           
               
                 7:   Fine-tune G. 
                 \\ Adjust λ in equation 22 for varying sparsity 
               
               
                 8:   return {tilde over (F)},G 
               
               
                   
               
             
          
         
       
     
         [0087]    While this disclosure includes what is presently considered to be the most practical and preferred embodiments, it is to be understood that the disclosure is not to be limited to the disclosed embodiments but, on the contrary, is intended to cover various modifications and equivalent arrangements.