Abstract:
The present invention is directed to a rate-distortion optimized (RDO) transform and quantization system. A frame classification unit classifies an input frame as either a key frame or a non-key frame. A rate model update unit generates at least one model parameter of a rate model according to a transform coefficient and a bitrate resulted from an encoded key frame. An RDO transform and quantization unit processes the input frame, thereby generating a quantized transform coefficient according to the model parameter. A frame buffer is used to store a previous frame, according to which the bitrate is estimated.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention generally relates to video coding, and more particularly to a system of rate-distortion optimized (RDO) transform and quantization. 
         [0003]    2. Description of Related Art 
         [0004]    The high performance of H.264 video coding is attributed to, among others, the adoption of rate-distortion optimization (RDO) framework, which attains good balance between distortion and bitrate for mode decision and rate control. 
         [0005]    Moreover, some methods have recently adopted the rate distortion optimization framework for another important component of a video encoder—quantization. However, a common drawback of these methods is the high computational overhead due to, for example, an exhaustive search and redundant entropy coding process to determine the quantized transform coefficients with lowest rate-distortion cost, as discussed in “Rate distortion optimization for H.264 interframe coding: a general framework and algorithms,” by E.-H. Yang and X. Yu, IEEE Trans. Image Process., vol. 16, no. 7, July 2007, and “Rate distortion optimized quantization,” by M. Karczewicz, Y. Ye and I. Chong, VCEG-AH21, January 2008. 
         [0006]    For the reason that the transform and quantization of H.264 only considers the distortion between original and reconstructed video as the cost of compression, and conventional methods perform distortion optimization with high computational overhead, a need has thus arisen to develop a novel scheme with high efficiency and low computational complexity for a video coding process. 
       SUMMARY OF THE INVENTION 
       [0007]    In view of the foregoing, it is an object of the embodiment of the present invention to provide a system of rate-distortion optimized (RDO) transform and quantization that allow the bitrate of quantized transform coefficient to be efficiently estimated. Another object of the embodiment of the present invention is to provide a closed-form solution for the rate-distortion optimized (RDO) quantized transform coefficient, making the optimization process computationally tractable. 
         [0008]    According to one embodiment, the rate-distortion optimized (RDO) transform and quantization system includes a frame classification unit, a rate model update unit, and an RDO transform and quantization unit. The frame classification unit is configured to classify an input frame as either a key frame or a non-key frame. The rate model update unit is configured to generate at least one model parameter of a rate model according to a transform coefficient and a bitrate resulted from an encoded key frame. The RDO transform and quantization unit is configured to process the input frame, thereby generating a quantized transform coefficient according to the model parameter. A frame buffer is configured to store a previous frame, according to which the bitrate is estimated. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]      FIG. 1  shows a block diagram of a rate-distortion optimized (RDO) transform and quantization system according to one embodiment of the present invention; 
           [0010]      FIG. 2  shows an exemplary curve illustrative of relationship between bitrate and quantized transform coefficient; 
           [0011]      FIG. 3  illustrates the relationship among an input signal, a residual signal, a quantized transform coefficient, a reconstructed residual signal, a predicted signal and a bitrate; and 
           [0012]      FIG. 4  shows a detailed block diagram of the RDO transform and quantization (RDOTQ) unit in  FIG. 1 . 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0013]      FIG. 1  shows a block diagram of a rate-distortion optimized (RDO) transform and quantization system according to one embodiment of the present invention. The embodiment illustrated below may be adapted to, but not limited to, H.264 coding standard. The shown blocks of the system may be performed by a processor (e.g., a digital image processor), software or their combination. 
         [0014]    In the embodiment, an input frame is first classified as a key frame or a non-key frame by a frame classification unit  10 . Generally speaking, the first frame of a whole video sequence may be classified as a key frame, and the first frame of a sub-sequence in the video sequence may also be classified as a key frame. The frames other than the key frame in the whole video sequence or the sub-sequence are classified as non-key frames. It is noted that the frames in a sub-sequence may have similar R-D characteristics, and different sub-sequences may have distinct R-D characteristics, due to, for example, high motion or scene change. 
         [0015]    The classified key frame is encoded by conventional transform (e.g., discrete cosine transform (DCT)) and quantization. In the specification, the term “conventional transform and quantization” means that the transform and quantization considers only distortion rather than both the distortion and bitrate. The resulting bitrate and transform coefficients are used, by a rate model update unit  12 , to obtain model parameter(s) of a rate model. The model parameter(s) may be stored in a memory  14 . Based on the obtained model parameter(s), the key frame is subjected to transform and quantization by a RDO transform and quantization (RDOTQ) unit  16 , resulting in quantized transform coefficient X. Finally, the quantized transform coefficient X is subjected to coding (e.g., entropy coding) by a coding unit  18 . For a non-key frame, it is subjected to transform and quantization by the RDO transform and quantization unit  16  directly using the existing (or updated) model parameter(s) provided by the memory  14 . 
         [0016]    With respect to the rate model update, a rate model called ρ-model is adopted with modification in the embodiment to estimate the bitrate according to a previous frame stored in a frame buffer  13 , in order to minimize the rate-distortion. Details of ρ-model may be referred to “A linear source model and a unified rate control algorithm for DCT video coding,” entitled to Zhihai He et al., IEEE Trans. Circuits Syst. Video Technol., vol. 12, no. 11, November 2002, the disclosure of which is incorporated herein by reference. 
         [0017]    In the embodiment, the bitrate B may be approximated by a linear model around a given quantization parameter (QP): 
         [0000]        B ( X )=α·∥ X∥   1 +β  (1)
 
         [0000]    where α and β are model parameters, ∥X∥ 1  is one norm of the quantized transform coefficient X, which is defined as the sum of the absolute values of all elements in X. 
         [0018]      FIG. 2  shows an exemplary curve illustrative of relationship between bitrate B and the one norm of the quantized transform coefficient X. The parameter α is the slope of the linear model at the given QP. To obtain α at a given QP, the frame is encoded twice using QP±Δ respectively as the quantization parameter values, where Δ is a small value, therefore resulting in two points in the curve of  FIG. 2 . The slope α may then be obtained by fitting the two points. It is noted that another model parameter β does not affect the process in minimizing the rate-distortion. 
         [0019]    In the embodiment, both the rate and distortion are to be minimized, and may be formulated as: 
         [0000]    
       
         
           
             
               
                 
                   X 
                   = 
                   
                     arg 
                      
                     
                         
                     
                      
                     
                       
                         min 
                         X 
                       
                        
                       
                         ( 
                         
                           
                             D 
                              
                             
                               ( 
                               
                                 R 
                                 , 
                                 
                                   R 
                                   ~ 
                                 
                               
                               ) 
                             
                           
                           + 
                           
                             λ 
                              
                             
                                 
                             
                              
                             B 
                           
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where B is the bitrate obtained by performing coding (e.g., entropy coding) on the quantized transform coefficient X, λ is the Lagrange multiplier defined by the cost function J=D+λ B, R is a residual signal obtained by subtracting an (intra/inter) predicted signal from an input signal (e.g., an input basic unit), and {tilde over (R)} is a reconstructed residual signal obtained by inversely quantizing and inversely transforming X. The relationship among the input signal, R, X, {tilde over (R)}, the predicted signal and B is shown in  FIG. 3 . 
         [0020]    In the embodiment, the sum of squared error (SSE) is used to measure the distortion and the rate model described by (1) may be rewritten as 
         [0000]    
       
         
           
             
               
                 
                   
                     X 
                     = 
                     
                       arg 
                        
                       
                           
                       
                        
                       
                         
                           min 
                           X 
                         
                          
                         
                           ( 
                           
                             
                               
                                 D 
                                  
                                 
                                   ( 
                                   
                                     
                                        
                                       
                                         
                                           R 
                                           ~ 
                                         
                                         - 
                                         R 
                                       
                                        
                                     
                                     2 
                                   
                                   ) 
                                 
                               
                               2 
                             
                             + 
                             
                               λ 
                               · 
                               α 
                               · 
                               
                                 
                                    
                                   X 
                                    
                                 
                                 1 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                    
                   
                     
 
                   
                    
                   or 
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
             
               
                 
                   X 
                   = 
                   
                     arg 
                      
                     
                         
                     
                      
                     
                       
                         min 
                         X 
                       
                        
                       
                         
                           ( 
                           
                             
                               
                                 D 
                                  
                                 
                                   ( 
                                   
                                     
                                        
                                       
                                         AQX 
                                         - 
                                         R 
                                       
                                        
                                     
                                     2 
                                   
                                   ) 
                                 
                               
                               2 
                             
                             + 
                             
                               λ 
                               · 
                               α 
                               · 
                               
                                 
                                    
                                   X 
                                    
                                 
                                 1 
                               
                             
                           
                           ) 
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where Q is an inverse quantization matrix, and A is an inverse transform matrix, wherein ∥ ∥ 2  denotes two norm, which is defined as a sum of squared values of all elements therein. 
         [0021]    The minimization expressed in (4) is known as least absolute shrinkage and selection operator (LASSO), which has the effect of shrinking the coefficients toward zero. According to one aspect of the embodiment, a closed-form solution may be derived from (4) as 
         [0000]    
       
         
           
             
               
                 
                   
                     x 
                     i 
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             0 
                             , 
                           
                         
                         
                           
                             
                               
                                  
                                 
                                   t 
                                   i 
                                 
                                  
                               
                               - 
                               
                                 
                                   λ 
                                   · 
                                   α 
                                 
                                 
                                   2 
                                    
                                   
                                     
                                       ( 
                                       
                                         
                                            
                                           
                                             
                                               ( 
                                               AQ 
                                               ) 
                                             
                                             i 
                                           
                                            
                                         
                                         2 
                                       
                                       ) 
                                     
                                     2 
                                   
                                 
                               
                             
                             ≤ 
                             0 
                           
                         
                       
                       
                         
                           
                             
                               round 
                               ( 
                               
                                 
                                   t 
                                   i 
                                 
                                 - 
                                 
                                   
                                     sign 
                                      
                                     
                                       ( 
                                       
                                         t 
                                         i 
                                       
                                       ) 
                                     
                                   
                                   · 
                                   
                                     
                                       λ 
                                       · 
                                       α 
                                     
                                     
                                       2 
                                        
                                       
                                         
                                           ( 
                                           
                                             
                                                
                                               
                                                 
                                                   ( 
                                                   AQ 
                                                   ) 
                                                 
                                                 i 
                                               
                                                
                                             
                                             2 
                                           
                                           ) 
                                         
                                         2 
                                       
                                     
                                   
                                 
                               
                               ) 
                             
                             , 
                           
                         
                         
                           otherwise 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where x i  is an element of X, t i  is an element of a quantized transform matrix T defined by T=Q −1 A −1 R, wherein Q −1  is a quantization matrix, A −1  is a transform matrix, and 
         [0000]    
       
         
           
             
               sign 
                
               
                 ( 
                 
                   t 
                   i 
                 
                 ) 
               
             
             · 
             
               
                 λ 
                 · 
                 α 
               
               
                 2 
                  
                 
                   
                     ( 
                     
                       
                          
                         
                           
                             ( 
                             AQ 
                             ) 
                           
                           i 
                         
                          
                       
                       
                         2 
                          
                         
                             
                         
                       
                     
                     ) 
                   
                   2 
                 
               
             
           
         
       
     
         [0000]    is an adjustment term. 
         [0022]    With respect to (5), it is shown in  FIG. 4  the detailed block diagram of the RDO transform and quantization (RDOTQ) unit  16  ( FIG. 1 ). Specifically, the residual signal R is obtained by subtracting the (intra/inter) predicted signal from an input signal of the input (key/non-key) frame via a subtractor  161 . The residual signal R is processed by a transform unit  162 , and then a quantization unit  163 , resulting in the quantized transform signal T. The quantized transform signal T is then adjusted with the adjustment term by an adjustment unit  164 , therefore resulting in an adjusted signal. Finally, the adjusted T is rounded by a rounding unit  165 , such that the rate-distortion optimized (RDO) quantized transform coefficient X may be constrained to an integer. 
         [0023]    According to the embodiment discussed above, the coding performance of the entire coding system can be substantially improved over the conventional scheme that considers only distortion, or consider none of the distortion and bitrate. By using the rate model, the bitrate can be estimated, and a closed-form solution (e.g., (5)) is derived for the RDO quantized transform coefficient X. This considerably reduces the amount of computations required to make the rate-distortion optimization process computationally tractable, in contrast to the conventional method that performs iterative computations, which incurs high computational overhead. 
         [0024]    Although specific embodiments have been illustrated and described, it will be appreciated by those skilled in the art that various modifications may be made without departing from the scope of the present invention, which is intended to be limited solely by the appended claims.