US2016173907A1PendingUtilityA1

LM Mode with Uniform Bit-Width Multipliers

Assignee: FUTUREWEI TECHNOLOGIES INCPriority: Apr 12, 2012Filed: Feb 23, 2016Published: Jun 16, 2016
Est. expiryApr 12, 2032(~5.7 yrs left)· nominal 20-yr term from priority
Inventors:Lingzhi Liu
H04N 19/176H04N 19/186H04N 19/50H04N 19/593H04N 19/119
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A video codec including a processor configured to generate a predicted chroma sample for a chroma block based on reconstructed luma samples located in neighboring blocks of a corresponding reconstructed luma block and adjacent to the corresponding reconstructed luma block, and reconstructed chroma samples located in neighboring blocks of the chroma block and adjacent to the chroma block. Generating the predicted chroma sample includes computing a plurality of multipliers. Each of the plurality of multipliers has a bit width no greater than an input bit depth of the chroma block. Generating the predicted chroma sample does not require any multiplier that has a bit width greater than the input bit depth of the chroma block. A range of input parameters used to compute at least one of the multipliers is restrained by using the input bit depth as an exponent.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A video codec comprising:
 a video input;   a non-transitory memory comprising instructions; and   one or more processors in communication with the video input and to the memory, wherein the one or more processors execute the instructions to:   generate a predicted chroma sample for a chroma block based on:
 a plurality of reconstructed luma samples located in neighboring blocks of a corresponding reconstructed luma block and adjacent to the corresponding reconstructed luma block, and 
 a plurality of reconstructed chroma samples located in neighboring blocks of the chroma block and adjacent to the chroma block, 
   wherein generating the predicted chroma sample comprises computing a plurality of multipliers, wherein each of the plurality of multipliers has a bit width no greater than an input bit depth of the chroma block, and wherein generating the predicted chroma sample does not require any multiplier that has a bit width greater than the input bit depth of the chroma block, and   wherein a range of input parameters used to compute at least one of the multipliers is restrained by using the input bit depth as an exponent.   
     
     
         2 . The video codec of  claim 1 , wherein the range of input parameters used to compute at least one of the multipliers is restrained by using the input bit depth as an exponent according to the formula: range=(−2 InputlBitDepth−1 ,2 InputBitDepth−1 −1). 
     
     
         3 . The video codec of  claim 1 , wherein generating the predicted chroma sample further comprises generating a plurality of filtered luma samples by filtering the plurality of reconstructed luma samples, and wherein the plurality of multipliers comprises:
 a first flooring function of an average of the plurality of filtered luma samples; and   a second flooring function of an average of the plurality of reconstructed chroma samples.   
     
     
         4 . The video codec of  claim 3 , wherein the first and second flooring functions are first and second intermediate variables denoted as avgY′ and avgC respectively, wherein the plurality of multipliers further comprises:
 a third intermediate variable, denoted as RErrY′, representing a difference between a sum of the plurality of filtered luma samples and 2*nS*avgY′, and 
 a fourth intermediate variable, denoted as RErrC, representing a difference between a sum of the plurality of reconstructed chroma samples and 2*nS*avgC, and wherein nS denotes a width of the chroma block, which equals a number of the plurality of filtered luma samples. 
 
     
     
         5 . The video codec of  claim 4 , wherein generating the predicted chroma sample further comprises:
 computing an intermediate variable denoted as a1 using the first, second, third, and fourth intermediate variables;   computing an intermediate variable denoted as a2 using the first and third intermediate variables, and   computing an integer division of a1 and a2 to generate an intermediate variable denoted as alpha, and wherein the predicted chroma sample is generated based on alpha.   
     
     
         6 . The video codec of  claim 4 , wherein generating the predicted chroma sample further comprises computing intermediate variables denoted as a1 and a2 according to the following equations:
     a 1 =LC −(2 *nS *avg Y ′*avg C +avg Y ′*RErr C +avg C *RErr Y ′); and
       a 2 =LL −(2 *nS *avg Y′   2 +2*avg Y ′*RErr Y ′),
   wherein LC and LL are intermediate variables determined by the plurality of reconstructed chroma samples and the plurality of filtered luma samples, and wherein the predicted chroma sample is generated based on a1 and a2.   
     
     
         7 . The video codec of  claim 6 , wherein BitDepth C  denotes the input bit depth of the chroma block, wherein p Y ′[x, y] denotes each of the plurality of filtered luma samples, wherein x and y are integers indicating a position, wherein p[x, y] denotes each of the plurality of reconstructed chroma samples, and wherein generating the predicted chroma sample further comprises determining LL and LC via
 either equations: 
 
       
         
           
             
               
                 
                   k 
                    
                   
                       
                   
                    
                   3 
                 
                 = 
                 
                   Max 
                    
                   
                     ( 
                     
                       0 
                       , 
                       
                         
                           BitDepth 
                           C 
                         
                         + 
                         
                           
                             log 
                             2 
                           
                            
                           
                             ( 
                             nS 
                             ) 
                           
                         
                         - 
                         14 
                       
                     
                     ) 
                   
                 
               
               ; 
             
           
         
         
           
             
               
                 
                   LL 
                   = 
                   
                     ( 
                     
                       
                         
                           ∑ 
                           
                             y 
                             = 
                             0 
                           
                           
                             nS 
                             - 
                             1 
                           
                         
                          
                         
                           
                             
                               p 
                               Y 
                               ′ 
                             
                              
                             
                               [ 
                               
                                 
                                   - 
                                   1 
                                 
                                 , 
                                 y 
                               
                               ] 
                             
                           
                           2 
                         
                       
                       + 
                       
                         
                           ∑ 
                           
                             x 
                             = 
                             0 
                           
                           
                             nS 
                             - 
                             1 
                           
                         
                          
                         
                           
                             
                               p 
                               Y 
                               ′ 
                             
                              
                             
                               [ 
                               
                                 x 
                                 , 
                                 
                                   - 
                                   1 
                                 
                               
                               ] 
                             
                           
                           2 
                         
                       
                     
                     ) 
                   
                 
                 >> 
                 
                   k 
                    
                   
                       
                   
                    
                   3 
                 
               
               ; 
             
           
         
         
           
             and 
           
         
         
           
             
               
                 LC 
                 = 
                 
                   ( 
                   
                     
                       
                         ∑ 
                         
                           y 
                           = 
                           0 
                         
                         
                           nS 
                           - 
                           1 
                         
                       
                        
                       
                         
                           
                             p 
                             Y 
                             ′ 
                           
                            
                           
                             [ 
                             
                               
                                 - 
                                 1 
                               
                               , 
                               y 
                             
                             ] 
                           
                         
                         * 
                         
                           p 
                            
                           
                             [ 
                             
                               
                                 - 
                                 1 
                               
                               , 
                               y 
                             
                             ] 
                           
                         
                       
                     
                     + 
                     
                       
                         ∑ 
                         
                           y 
                           = 
                           0 
                         
                         
                           nS 
                           - 
                           1 
                         
                       
                        
                       
                         
                           
                             p 
                             Y 
                             ′ 
                           
                            
                           
                             [ 
                             
                               x 
                               , 
                               
                                 - 
                                 1 
                               
                             
                             ] 
                           
                         
                         * 
                         
                           p 
                            
                           
                             [ 
                             
                               x 
                               , 
                               
                                 - 
                                 1 
                               
                             
                             ] 
                           
                         
                       
                     
                   
                   ) 
                 
               
               >> 
               
                 k 
                  
                 3 
               
             
           
         
         or equations: 
       
       
         
           
             
               
                 LL 
                 = 
                 
                   ( 
                   
                     
                       
                         ∑ 
                         
                           y 
                           = 
                           0 
                         
                         
                           nS 
                           - 
                           1 
                         
                       
                        
                       
                         
                           
                             p 
                             Y 
                             ′ 
                           
                            
                           
                             [ 
                             
                               
                                 - 
                                 1 
                               
                               , 
                               y 
                             
                             ] 
                           
                         
                         2 
                       
                     
                     + 
                     
                       
                         ∑ 
                         
                           x 
                           = 
                           0 
                         
                         
                           nS 
                           - 
                           1 
                         
                       
                        
                       
                         
                           
                             p 
                             Y 
                             ′ 
                           
                            
                           
                             [ 
                             
                               x 
                               , 
                               
                                 - 
                                 1 
                               
                             
                             ] 
                           
                         
                         2 
                       
                     
                   
                   ) 
                 
               
               ; 
             
           
         
         
           
             and 
           
         
         
           
             
               LC 
               = 
               
                 
                   ( 
                   
                     
                       
                         ∑ 
                         
                           y 
                           = 
                           0 
                         
                         
                           nS 
                           - 
                           1 
                         
                       
                        
                       
                         
                           
                             p 
                             Y 
                             ′ 
                           
                            
                           
                             [ 
                             
                               
                                 - 
                                 1 
                               
                               , 
                               y 
                             
                             ] 
                           
                         
                         * 
                         
                           p 
                            
                           
                             [ 
                             
                               
                                 - 
                                 1 
                               
                               , 
                               y 
                             
                             ] 
                           
                         
                       
                     
                     + 
                     
                       
                         ∑ 
                         
                           y 
                           = 
                           0 
                         
                         
                           nS 
                           - 
                           1 
                         
                       
                        
                       
                         
                           
                             p 
                             Y 
                             ′ 
                           
                            
                           
                             [ 
                             
                               x 
                               , 
                               
                                 - 
                                 1 
                               
                             
                             ] 
                           
                         
                         * 
                         
                           p 
                            
                           
                             [ 
                             
                               x 
                               , 
                               
                                 - 
                                 1 
                               
                             
                             ] 
                           
                         
                       
                     
                   
                   ) 
                 
                 . 
               
             
           
         
       
     
     
         8 . The video codec of  claim 6 , wherein computing avgY′, avgC, RErrY′, and RErrC uses the following equations:
     k 0=Log 2((2* nS )); 
   avg Y′=L>>k 0; 
   RErr Y′=L &((1<< k 0)−1);
 
   avg C=C>>k 0; and 
   RErr C=C &((1<< k 0)−1),
 
 wherein C denotes a sum of the plurality of reconstructed chroma samples, and wherein L denotes a sum of the plurality of filtered luma samples. 
 
     
     
         9 . The video codec of  claim 6 , wherein BitDepth C  denotes the input bit depth of the chroma block, wherein the plurality of multipliers further comprises an intermediate variable denoted as a1s, and wherein computing a1s follows equations:
     k 1=Max(0,log 2 (abs( a 1))−BitDepth C +2); and
       a 1 s=a 1>> k 1.   
     
     
         10 . The video codec of  claim 9 , wherein the plurality of multipliers further comprises an intermediate variable denoted as a2t, and wherein a2t is computed based on an intermediate variable a2s following
 either equations:
     a 2 t=a 2 s< 1?0:( lm  Div [ a 2 s ]+(1<<(15−BitDepth C −1)))>>(15−BitDepth C ));
 
   and 
     a 2 t =Clip1 C ( a 2 t ), 
   or equations:
     a 2 t=a 2 s< 32?0:( lm  Div [ a 2 s ]+(1<<(15−BitDepth C −1)))>>(15−BitDepth C ));
 
   and 
     a 2 t =Clip1 C ( a 2 t ). 
   
     
     
         11 . The video codec of  claim 6 , wherein the input bit depth equals 8 or 10, and wherein the width of the chroma block is no less than 4 and no greater than 16. 
     
     
         12 . The video codec of  claim 4 , wherein the processor is further configured to:
 generate a residual sample indicating a difference between the predicted chroma sample and a corresponding chroma sample in the chroma block; and   entropy encode the residual sample to generate an encoded residual sample.   
     
     
         13 . The video codec of  claim 4 , wherein the processor is further configured to:
 decode an encoded residual sample to generate a decoded residual sample; and   combine the decoded residual sample and the predicted chroma sample to generate a corresponding chroma sample in the chroma block.   
     
     
         14 . A method used in video coding comprising:
 generating, using a processor of a video codec, a predicted chroma sample for a chroma block based on:
 a plurality of reconstructed luma samples located in neighboring blocks of a corresponding reconstructed luma block and adjacent to the corresponding reconstructed luma block, and 
 a plurality of reconstructed chroma samples located in neighboring blocks of the chroma block and adjacent to the chroma block, 
   wherein generating the predicted chroma sample comprises computing a plurality of multipliers, wherein each of the plurality of multipliers has a bit width no greater than an input bit depth of the chroma block, and wherein generating the predicted chroma sample does not require any multiplier that has a bit width greater than the input bit depth of the chroma block, and   wherein a range of input parameters used to compute at least one of the multipliers is restrained by using the input bit depth as an exponent.   
     
     
         15 . The method of  claim 14 , wherein the range of input parameters used to compute at least one of the multipliers is restrained by using the input bit depth as an exponent according to the formula: range=(−2 InputlBitDepth−1 ,2 InputBitDepth−1 −1). 
     
     
         16 . The method of  claim 14 , wherein generating the predicted chroma sample further comprises generating a plurality of filtered luma samples by filtering the plurality of reconstructed luma samples, and wherein the plurality of multipliers comprises:
 a first flooring function of an average of the plurality of filtered luma samples; and   a second flooring function of an average of the plurality of reconstructed chroma samples.   
     
     
         17 . The method of  claim 16 , wherein the first and second flooring functions are first and second intermediate variables denoted as avgY′ and avgC respectively, wherein the plurality of multipliers further comprises:
 a third intermediate variable, denoted as RErrY′, representing a difference between a sum of the plurality of filtered luma samples and 2*nS*avgY′, and 
 a fourth intermediate variable, denoted as RErrC, representing a difference between a sum of the plurality of reconstructed chroma samples and 2*nS*avgC, and wherein nS denotes a width of the chroma block, which equals a number of the plurality of filtered luma samples. 
 
     
     
         18 . The method of  claim 17 , wherein generating the predicted chroma sample further comprises:
 computing an intermediate variable denoted as a1 using the first, second, third, and fourth intermediate variables;   computing an intermediate variable denoted as a2 using the first and third intermediate variables, and   computing an integer division of a1 and a2 to generate an intermediate variable denoted as alpha, and wherein the predicted chroma sample is generated based on alpha.   
     
     
         19 . The method of  claim 17 , wherein generating the predicted chroma sample further comprises computing intermediate variables denoted as a1 and a2 according to the following equations:
     a 1 =LC −(2 *nS *avg Y ′*avg C +avg Y ′*RErr C +avg C *RErr Y ′); and
       a 2 =LL −(2 *nS *avg Y′   2 +2*avg Y ′*RErr Y ′).
   wherein LC and LL are intermediate variables determined by the plurality of reconstructed chroma samples and the plurality of filtered luma samples, and wherein the predicted chroma sample is generated based on a1 and a2.   
     
     
         20 . The method of  claim 19 , wherein BitDepth C  denotes the input bit depth of the chroma block, wherein the plurality of multipliers further comprises an intermediate variable denoted as a1s, and wherein computing a1s follows equations:
     k 1=Max(0,log 2 (abs( a 1))−BitDepth C +2); and
       a 1 s=a 1>> k 1.   
     
     
         21 . An apparatus used in video coding comprising:
 a video input;   a non-transitory memory comprising instructions; and   one or more processors in communication with the video input and to the memory, wherein the one or more processors execute the instructions to:
 compute a flooring function of an average of a plurality of reconstructed chroma samples located in neighboring blocks of a chroma block and adjacent to the chroma block; 
 compute a flooring function of an average of a plurality of reconstructed luma samples located in neighboring blocks of a corresponding reconstructed luma block and adjacent to the corresponding reconstructed luma block, wherein the first and second flooring functions are first and second multipliers; 
 compute a number of additional multipliers, at least some of which are based on the plurality of reconstructed chroma samples and the plurality of reconstructed luma samples; and 
 compute a predicted chroma sample for the chroma block based on all of the multipliers, wherein each of the multipliers has a bit width no greater than an input bit depth of the chroma block, and wherein computing the predicted chroma sample does not require any multiplier that has a bit width greater than the input bit depth of the chroma block, 
   wherein a range of input parameters used to compute at least one of the multipliers is restrained by using the input bit depth as an exponent.   
     
     
         22 . The apparatus of  claim 21 , wherein the range of input parameters used to compute at least one of the multipliers is restrained by using the input bit depth as an exponent according to the formula: range=(−2 InputlBitDepth−1 ,2 InputBitDepth−1 −1. 
     
     
         23 . The apparatus of  claim 21 , wherein the first and second flooring functions are denoted as avgC and avgY respectively, wherein the additional multipliers comprises:
 a third multiplier, denoted as RErrC, representing a difference between a sum of the plurality of reconstructed chroma samples and 2*nS*avgC, and   a fourth multiplier, denoted as RErrY, representing a difference between a sum of the plurality of filtered luma samples and 2*nS*avgY, and wherein nS denotes a width of the chroma block, which equals a number of the plurality of filtered luma samples.

Join the waitlist — get patent alerts

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

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