US2017301359A1PendingUtilityA1

Pyramid vector quantizer shape search

Assignee: ERICSSON TELEFON AB L M (publ)Priority: Jul 28, 2014Filed: Jul 5, 2017Published: Oct 19, 2017
Est. expiryJul 28, 2034(~8 yrs left)· nominal 20-yr term from priority
Inventors:Jonas Svedberg
G10L 19/002G10L 2019/0013G10L 19/038G10L 19/0017H03M 7/3082G10L 19/00G10L 19/167G10L 19/032G10L 19/10
50
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An encoder and a method therein for Pyramid Vector Quantizer, PVQ, shape search, the PVQ taking a target vector x as input and deriving a vector y by iteratively adding unit pulses in an inner dimension search loop. The method comprises, before entering a next inner dimension search loop for unit pulse addition, determining, based on the maximum pulse amplitude, maxamp y , of a current vector y, whether more than a current bit word length is needed to represent enloop y , in a lossless manner in the upcoming inner dimension loop. The variable enloop y is related to an accumulated energy of the vector y. The performing of this method enables the encoder to keep the complexity of the search at a reasonable level.

Claims

exact text as granted — not AI-modified
1 . A method for Pyramid Vector Quantizer (PVQ) shape search, performed by an audio encoder, the PVQ taking a target vector x as input and deriving a vector y by iteratively adding unit pulses in an inner dimension search loop, the method comprising:
 before entering a next inner dimension search loop for unit pulse addition, determining, based on a maximum pulse amplitude, maxamp y , of a current vector y, whether more than a current bit word length is needed to represent, in a lossless manner, a variable, enloop y , related to an accumulated energy of y, in the next inner dimension search loop.   
     
     
         2 . The method according to  claim 1 , wherein the method further comprises:
 before entering the next inner dimension search loop for unit pulse addition, determining, based on a maximum absolute value, xabs max , of the input vector, x, a possible upshift, in a bit word, of the next loop's accumulated in-loop correlation value, corr xy , between x and the vector y.   
     
     
         3 . The method according to  claim 1 , further comprising:
 when more than the current bit word length is needed to represent enloop y , performing the inner loop calculations using a longer bit word length to represent enloop y .   
     
     
         4 . The method according to  claim 1 , further comprising:
 when more than the current bit word length is needed to represent enloop y , performing the inner loop calculations using a longer bit word length to represent a squared accumulated in-loop correlation value, corr xy   2 , between x and the vector y, in the inner loop.   
     
     
         5 . The method according to  claim 1 , further comprising:
 when more than the current bit word length is not needed to represent enloop y , performing the inner loop calculations by employing a first unit pulse addition loop using a first bit word length to represent enloop y ; and   when more than the current bit word length is needed to represent enloop y , performing the inner loop calculations by employing a second unit pulse addition loop using a longer bit word length to represent enloop y  than the first unit pulse addition loop.   
     
     
         6 . The method according to  claim 1  further comprising:
 when more than the current bit word length is not needed to represent enloop y , performing the inner loop calculations by employing a first unit pulse addition loop having a certain precision; and 
 when more than the current bit word length is needed to represent enloop y , performing the inner loop calculations by employing a second unit pulse addition loop having a higher precision than the first unit pulse addition loop. 
 
     
     
         7 . The method according to  claim 1 , wherein the determining, based on maxamp y , of whether more than the current bit word length is needed to represent enloop y  comprises determining characteristics of the case when, in the next inner dimension search loop, aunit pulse is added to the position in y being associated with maxamp y . 
     
     
         8 . The method according to  claim 1 , further comprising:
 in the inner dimension search loop for unit pulse addition:   determining a position, n best , in y for addition of a unit pulse by evaluating a cross-multiplication, for each position n in y, of a correlation and energy value for the current n; and a squared correlation, BestCorrSq and an energy value, bestEn, saved from previous values of n, as:
   corr xy   2 *bestEn>BestCorrSq*enloop y    
   where   
       
         
           
             
               
                 
                   
                     
                       
                         
                           
                             
                               
                                 n 
                                 best 
                               
                               = 
                               n 
                             
                           
                         
                         
                           
                             
                               bestEn 
                               = 
                               
                                 enloop 
                                 y 
                               
                             
                           
                         
                         
                           
                             
                               BestCorrSq 
                               = 
                               
                                 corr 
                                 xy 
                                 2 
                               
                             
                           
                         
                       
                       } 
                     
                     , 
                     
                       
                         when 
                          
                         
                             
                         
                          
                         
                           corr 
                           
                             xy 
                              
                             
                                 
                             
                           
                           2 
                         
                         * 
                         bestEn 
                       
                       > 
                       
                         BestCorrSq 
                         * 
                         
                           enloop 
                           y 
                         
                       
                     
                   
                 
                 
                   
                       
                   
                 
               
             
           
         
       
     
     
         9 . The method according to  claim 1 , further comprising:
 keeping track of maxamp y  when a final value of K, associated with the target vector x, exceeds a threshold value.   
     
     
         10 . A computer program product comprising a non-transitory computer readable medium storing a computer program comprising instructions which, when executed on at least one processor, cause the at least one processor to carry out the method according to  claim 1 . 
     
     
         11 . The computer program product according to  claim 12 , wherein at least one of the at least one processors is a Digital Signal Processor. 
     
     
         12 . An audio encoder configured for Pyramid Vector Quantization (PVQ) shape search, the PVQ taking a target vector x as input and deriving a vector y by iteratively adding unit pulses in an inner dimension search loop, the audio encoder being configured to:
 before entering a next inner dimension search loop for unit pulse addition, determine, based on a maximum pulse amplitude, maxamp y , of a current vector y, whether more than a current bit word length is needed to represent, in a lossless manner, a variable, enloop y , related to an accumulated energy of y, in the next inner dimension loop.   
     
     
         13 . The audio encoder according to  claim 12 , being further configured to:
 before entering the next inner dimension loop for unit pulse addition, determine, based on a maximum absolute value, xabs max , of the input vector, x, a possible upshift, in a bit word, of the next loop's accumulated in-loop correlation value, corr xy , between x and the vector y.   
     
     
         14 . The audio encoder according to  claim 12 , being further configured to:
 perform the inner loop calculations using a longer bit word length to represent enloop y , when more than the current bit word length is needed to represent enloop y .   
     
     
         15 . The audio encoder according to  claim 12 , being further configured to:
 perform the inner loop calculations by employing a first unit pulse addition loop using a first bit word length when more than the current bit word length is not needed to represent enloop y , and   perform the inner loop calculations by employing a second unit pulse addition loop using a longer bit word length than the first unit pulse addition loop when more than the current bit word length is needed to represent enloop y .   
     
     
         16 . The audio encoder according to  claim 12 , being further configured to:
 perform the inner loop calculations by employing a first unit pulse addition loop, having a certain precision, when more than the current bit word length is not needed to represent enloop y ; and   perform the inner loop calculations by employing a second unit pulse addition loop, having a higher precision than the first unit pulse addition loop, when more than the current bit word length is needed to represent enloop y .   
     
     
         17 . The audio encoder according to  claim 12 , wherein the determining, based on maxamp y , of whether more than the current bit word length is needed to represent enloop y  is configured to comprise determining characteristics of the case when, in the next inner dimension search loop, aunit pulse is added to the position in y being associated with maxamp y . 
     
     
         18 . The audio encoder according to  claim 12 , being further configured to:
 in the inner dimension search loop for unit pulse addition,   determine a position, n best , in y for addition of a unit pulse by evaluating a cross-multiplication, for each position n in y, of a correlation and energy value for the current n; and a correlation, BestCorrSq, and energy value, bestEn, saved from previous values of n, as:
   corr xy   2 *bestEn>BestCorrSq*enloop y    
   where   
       
         
           
             
               
                 
                   
                     
                       
                         
                           
                             
                               
                                 n 
                                 best 
                               
                               = 
                               n 
                             
                           
                         
                         
                           
                             
                               bestEn 
                               = 
                               
                                 enloop 
                                 y 
                               
                             
                           
                         
                         
                           
                             
                               BestCorrSq 
                               = 
                               
                                 corr 
                                 xy 
                                 2 
                               
                             
                           
                         
                       
                       } 
                     
                     , 
                     
                       
                         when 
                          
                         
                             
                         
                          
                         
                           corr 
                           
                             xy 
                              
                             
                                 
                             
                           
                           2 
                         
                         * 
                         bestEn 
                       
                       > 
                       
                         BestCorrSq 
                         * 
                         
                           enloop 
                           y 
                         
                       
                     
                   
                 
                 
                   
                       
                   
                 
               
             
           
         
       
     
     
         19 . The audio encoder according to  claim 12 , being further configured to keep track of maxamp y  when a number of final unit pulses, K, associated with the target vector x, exceeds a threshold value. 
     
     
         20 . A communication device comprising the audio encoder according to  claim 12 .

Join the waitlist — get patent alerts

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

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