US2008151998A1PendingUtilityA1

Method and Apparatus for Providing Rate Control for Panel-Based Real Time Video Encoder

Assignee: GEN INSTRUMENT CORPPriority: Dec 21, 2006Filed: Dec 21, 2006Published: Jun 26, 2008
Est. expiryDec 21, 2026(~0.4 yrs left)· nominal 20-yr term from priority
Inventors:Yong He
H04N 19/177H04N 19/147H04N 19/172H04N 19/115H04N 19/61H04N 19/124H04N 19/14H04N 19/152
47
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method and apparatus is provided for panel-based rate control in an MPEG encoder. In one embodiment, the method begins by estimating a complexity measure of pictures in a GOP and calculating a GOP bit budget for the GOP. Portions of the GOP bit budget are assigned to the pictures in the GOP based at least in part on the estimated complexity measure. A quantization parameter is adjusted for the picture to achieve the assigned portion of bit budget for each picture in the GOP.

Claims

exact text as granted — not AI-modified
1 . At least one computer-readable medium encoded with instructions which, when executed by a processor, performs a method comprising:
 estimating a complexity measure of pictures in a GOP;   calculating a GOP bit budget for the GOP;   assigning portions of the GOP bit budget to the pictures in the GOP based at least in part on the estimated complexity measure; and   adjusting a quantization parameter for the picture to achieve the assigned portion of bit budget for each picture in the GOP.   
   
   
       2 . The computer-readable medium of  claim 1  further comprising preventing encoder and decoder buffers from overflowing or underflowing before encoding a picture in the GOP. 
   
   
       3 . The computer-readable medium of  claim 2  wherein preventing of the buffers from overflowing or underflowing includes estimating a current buffer level. 
   
   
       4 . The computer-readable medium of  claim 2  wherein preventing of the buffers from overflowing or underflowing includes calculating a number of bits in the pictures that do not overflow or underflow the buffers using an end-to-end buffer delay. 
   
   
       5 . The computer-readable medium of  claim 1  wherein calculating the GOP bit budget includes assuming a film mode of the GOP is the same as a film mode of a previously processed picture. 
   
   
       6 . The computer-readable medium of  claim 1  wherein the quantization parameter is adjusted using a nominal activity measure. 
   
   
       7 . The computer-readable medium of  claim 1  wherein estimating the compexity measure includes determining the complexity measure of P and B pictures in accordance with the expression 
     
       
         
           
             
               
                 C 
                 pic_type 
               
               = 
               
                 
                   W 
                   ⊗ 
                   
                     C 
                     pic_type 
                     * 
                   
                 
                 
                   ∑ 
                   
                       
                   
                    
                   W 
                 
               
             
             , 
           
         
       
     
     where C* is the complexity of a previously encoded picture of the same type and W is a sequence of weightings W={ 1 ,  2 ,  2 ,  4 }. 
   
   
       8 . The computer-readable medium of  claim 1  wherein calculating the GOP bit budget includes assigning a nominal number of bits to the GOP in accordance with the expression 
     
       
         
           
             
               
                 R 
                 GOP 
               
               = 
               
                 
                   f 
                   film_factor 
                 
                 × 
                 
                   N 
                   GOP 
                 
                 × 
                 
                   bit_rate 
                   pic_rate 
                 
               
             
             , 
             
               
 
             
              
             
               
                 f 
                 film_factor 
               
               = 
               
                 { 
                 
                   
                     
                       1.0 
                     
                     
                       
                         video 
                          
                         
                             
                         
                          
                         mode 
                       
                     
                     
                       
                           
                       
                     
                   
                   
                     
                       1.25 
                     
                     
                       
                         1080 
                          
                         I 
                       
                     
                     
                       
                         film 
                          
                         
                             
                         
                          
                         mode 
                       
                     
                   
                   
                     
                       2.5 
                     
                     
                       
                         720 
                          
                         P 
                       
                     
                     
                       
                         film 
                          
                         
                             
                         
                          
                         mode 
                       
                     
                   
                 
                 } 
               
             
           
         
       
     
   
   
       9 . The computer-readable medium of  claim 1  wherein assigning portions of the GOP bit budget to pictures of type I, P and B includes using the expressions 
     
       
         
           
             
               R 
               frame_target 
             
             = 
             
               
                 
                   
                     K 
                     pic_type 
                   
                    
                   
                     C 
                     pic_type 
                   
                    
                   
                     R 
                     Gop_remaining 
                   
                 
                 
                   
                     
                       
                         
                           
                             K 
                             I 
                           
                            
                           
                             n 
                             frame_I 
                           
                            
                           
                             C 
                             frame_I 
                           
                         
                         + 
                       
                     
                   
                   
                     
                       
                         
                           
                             K 
                             P 
                           
                            
                           
                             n 
                             frame_P 
                           
                            
                           
                             C 
                             frame_P 
                           
                         
                         + 
                         
                           
                             K 
                             B 
                           
                            
                           
                             n 
                             frame_B 
                           
                            
                           
                             C 
                             frame_B 
                           
                         
                       
                     
                   
                 
               
                
               
                   
               
                
               for 
                
               
                   
               
                
               frame 
             
           
         
       
     
     pictures and 
     
       
         
           
             
               R 
               field_target 
             
             = 
             
               
                 
                   K 
                   pic_type 
                 
                  
                 
                   C 
                   pic_type 
                 
                  
                 
                   R 
                   Gop_remaining 
                 
               
               
                 
                   
                     
                       
                         
                           K 
                           I 
                         
                          
                         
                           n 
                           field_I 
                         
                          
                         
                           C 
                           fieldI 
                         
                       
                       + 
                     
                   
                 
                 
                   
                     
                       
                         
                           K 
                           P 
                         
                          
                         
                           ( 
                           
                             
                               
                                 n 
                                 
                                   field 
                                    
                                   
                                       
                                   
                                    
                                   0 
                                    
                                   _P 
                                 
                               
                                
                               
                                 C 
                                 
                                   field 
                                    
                                   
                                       
                                   
                                    
                                   0 
                                    
                                   _P 
                                 
                               
                             
                             + 
                             
                               
                                 n 
                                 
                                   field 
                                    
                                   
                                       
                                   
                                    
                                   1 
                                    
                                   _P 
                                 
                               
                                
                               
                                 C 
                                 
                                   field 
                                    
                                   
                                       
                                   
                                    
                                   1 
                                    
                                   _P 
                                 
                               
                             
                           
                           ) 
                         
                       
                       + 
                     
                   
                 
                 
                   
                     
                       
                         K 
                         B 
                       
                        
                       
                         n 
                         field_B 
                       
                        
                       
                         C 
                         field_B 
                       
                     
                   
                 
               
             
           
         
       
     
     for field pictures. 
   
   
       10 . The computer-readable medium of  claim 1  wherein after assigning a portion of the GOP bit budget to a picture includes updating a remaining number of bits in the GOP bit budget in accordance with the expression R GOP     —     remaining =R GOP     —     remaining −R target . where R target  is the frame/field target bits of the current picture. 
   
   
       11 . The computer-readable medium of  claim 1  wherein the step of adjusting the quantization parameter includes determining three virtual buffer fullness, one for each picture of type I, P and B at time t in accordance with 
     
       
         
           
             
               
                 d 
                 pic_type 
               
                
               
                 ( 
                 t 
                 ) 
               
             
             = 
             
               
                 
                   d 
                   pic_type 
                 
                  
                 
                   ( 
                   0 
                   ) 
                 
               
               + 
               
                 α 
                 × 
                 
                   
                     B 
                     pic_type 
                   
                    
                   
                     ( 
                     t 
                     ) 
                   
                 
               
               - 
               
                 
                   
                     
                       ∑ 
                       
                         i 
                         = 
                         0 
                       
                       
                         MB 
                         i 
                       
                     
                      
                     
                         
                     
                      
                     
                       nbs 
                       i 
                     
                   
                   total_nbs 
                 
                  
                 
                   R 
                   pic_target 
                 
               
             
           
         
       
     
     where d pic     —     type (0) is an initial virtual buffer fullness at the beginning of a picture of I, P or B type and d pic     —     type (t) is the final virtual buffer fullness of the picture, B pic     —     type (t) is a number of bins generated from coded MBs up to time t, α is the ratio of a total number of actual bits and the total number of bins for a previously-coded picture of the same coding type, and (nbs[i]) is a nominal buffer size for a MB. 
   
   
       12 . The computer-readable medium of  claim 11  wherein the nominal buffer size (nbs[i]) for a MB is calculated in accordance with 
     
       
         
           
             
               
                 
                   
                     nbs 
                     i 
                   
                   = 
                   
                     
                       
                         α 
                         × 
                         
                           Intra_Act 
                            
                           
                             [ 
                             i 
                             ] 
                           
                         
                       
                       + 
                       
                         Intra_Act 
                          
                         _Ave 
                       
                     
                     
                       
                         α 
                         × 
                         Intra_Act 
                          
                         _Ave 
                       
                       + 
                       
                         Intra_Act 
                          
                         
                           [ 
                           i 
                           ] 
                         
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                   
                     
                       
                         α 
                         × 
                         
                           ( 
                           
                             
                               Intra_Act 
                                
                               
                                 [ 
                                 i 
                                 ] 
                               
                             
                             
                               Intra_Act 
                                
                               _Ave 
                             
                           
                           ) 
                         
                       
                       + 
                       1 
                     
                     
                       α 
                       + 
                       
                         ( 
                         
                           
                             Intra_Act 
                              
                             
                               [ 
                               i 
                               ] 
                             
                           
                           
                             Intra_Act 
                              
                             _Ave 
                           
                         
                         ) 
                       
                     
                   
                 
               
             
           
         
       
       where the average of the total intra activity (Intra_Act_Ave) is the total activity (Total_Intra_Act) divided by the number of macroblocks in the picture. 
     
   
   
       13 . A video encoder, comprising:
 a panel distributor for partitioning pictures in a video stream into a plurality of panels;   a plurality of video panel picture encoders (PPEs) each for compressing one of the plurality of panels;   a packet processor receiving each of the compressed panels and generating therefrom transport packets that include compressed bitstreams;   a rate controller for adjusting at least one encoder parameter to achieve a target bitrate for the compressed bitstreams;   wherein the rate controller is configured to:   estimate a complexity measure of pictures in a GOP in the video stream;   calculate a GOP bit budget for the GOP;   assign portions of the GOP bit budget to the pictures in the GOP based at least in part on the estimated complexity measure; and   adjust the encoder parameter for the picture to achieve the assigned portion of bit budget for each picture in the GOP.   
   
   
       14 . The video encoder of  claim 13  wherein the rate controller is further configured to prevent encoder and decoder buffers from overflowing or underflowing before encoding a picture in the GOP. 
   
   
       15 . The video encoder of  claim 14  wherein the rate controller is further configured to prevent the buffers from overflowing or underflowing by estimating a current buffer level. 
   
   
       16 . The video encoder of  claim 14  wherein the rate controller is further configured to prevent the buffers from overflowing or underflowing by calculating a number of bits in the pictures that do not overflow or underflow the buffers using an end-to-end buffer delay. 
   
   
       17 . The video encoder of  claim 13  wherein the rate controller is further configured to calculate the GOP bit budget by assuming that a film mode of the GOP is the same as a film mode of a previously processed picture. 
   
   
       18 . The video encoder of  claim 13  wherein the encoder parameter includes a quantization parameter and the rate controller is further configured to adjust the quantization parameter using a nominal activity measure. 
   
   
       19 . The video encoder of  claim 13  wherein the rate controller is further configured to estimate the compexity measure by determining the complexity measure of P and B pictures in accordance with the expression 
     
       
         
           
             
               
                 C 
                 pic_type 
               
               = 
               
                 
                   W 
                   ⊗ 
                   
                     C 
                     pic_type 
                     * 
                   
                 
                 
                   ∑ 
                   
                       
                   
                    
                   W 
                 
               
             
             , 
           
         
       
     
     where C* is the complexity of a previously encoded picture of the same type and W is a sequence of weightings W={ 1 ,  2 ,  2 ,  4 }. 
   
   
       20 . The video encoder of  claim 13  wherein the encoder parameter includes a quantization parameter and the rate controller is further configured to adjust the quantization parameter by determining three virtual buffer fullness, one for each picture of type I, P and B at time t in accordance with 
     
       
         
           
             
               
                 d 
                 pic_type 
               
                
               
                 ( 
                 t 
                 ) 
               
             
             = 
             
               
                 
                   d 
                   pic_type 
                 
                  
                 
                   ( 
                   0 
                   ) 
                 
               
               + 
               
                 α 
                 × 
                 
                   
                     B 
                     pic_type 
                   
                    
                   
                     ( 
                     t 
                     ) 
                   
                 
               
               - 
               
                 
                   
                     
                       ∑ 
                       
                         i 
                         = 
                         0 
                       
                       
                         MB 
                         i 
                       
                     
                      
                     
                         
                     
                      
                     
                       nbs 
                       i 
                     
                   
                   total_nbs 
                 
                  
                 
                   R 
                   pic_target 
                 
               
             
           
         
       
     
     where d pic     —     type (0) is an initial virtual buffer fullness at the beginning of a picture of I, P or B type and d pic     —     type (t) is the final virtual buffer fullness of the picture, B pic     —     type (t) is a number of bins generated from coded MBs up to time t, α is the ratio of a total number of actual bits and the total number of bins for a previously-coded picture of the same coding type, and (nbs[i]) is a nominal buffer size for a MB.

Join the waitlist — get patent alerts

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

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