Abstract:
Provided are a hybrid prediction apparatus and method for entropy encoding that may enhance an existing image compression scheme and prediction scheme by including and selectively using a plurality of predictors configured to perform a per-pixel prediction of an image frame, and may also supplement a performance of a prediction scheme, excessively occurring in a particular pixel.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application claims the benefit of Korean Patent Application No. 10-2009-0116790, filed on Nov. 30, 2009, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference. 
     BACKGROUND 
     1. Field of the Invention 
     The present invention relates to a hybrid prediction apparatus and method for entropy to encoding, and more particularly, to a hybrid prediction apparatus and method that may include and selectively a plurality of predictors to perform a per-pixel prediction with respect to an image frame. 
     2. Description of the Related Art 
     Generally, an entropy encoding scheme indicates a scheme that may perform a prediction using a correlation between pixels of an image, and may encode a difference between the pixels of the image. 
     In the case of a conventional entropy encoding scheme, an H.264 standard of the International Telecommunication Union Telecommunication Standardization Sector (ITU-T)-affiliated Video Coding Expert Group (VCEG), a Moving Picture Expert Group (MPEG)-4 part10 Advanced Video Coding (AVC) standard of the International Organization for Standardization/International Electrotechnical Commission (ISO/IEC)-affiliated MPEG, and the like have been proposed as standards for a video compression scheme. 
     The video compression scheme may be configured as a Context Adaptive Variable Length Coding (CAVLC) scheme, a Context Adaptive Binary Arithmetic Coding (CABAC) scheme, and the like. 
     However, a substantially compressed image may have a different compressibility according to a performance of a predictor used for each compression scheme and a corresponding configuration scheme. The predictor may cause an excessive prediction error according to a type of the predictor or a characteristic of the predictor. 
     SUMMARY 
     An aspect of the present invention provides a hybrid prediction apparatus and method for entropy encoding that may enhance an existing image compression scheme and prediction scheme by including and selectively using a plurality of predictors configured to perform a per-pixel prediction of an image frame. 
     Another aspect of the present invention also provides a hybrid prediction apparatus and method for entropy encoding that may supplement a performance of a used prediction scheme by comparing and analyzing prediction patterns with respect to the same pixel, and thereby using a prediction pattern having a relatively small amount of errors. 
     According to an aspect of the present invention, there is provided a hybrid prediction apparatus for entropy encoding, the apparatus including: at least two predictors, each to output a prediction pattern with respect to an input image frame using a correlation between pixels of the image frame; a selection processor to acquire per-pixel errors of prediction patterns output by the at least two predictors, and to thereby select, from among the output prediction patterns, a prediction pattern having a relatively small amount of errors; and an entropy coder to perform entropy encoding of the selected prediction pattern. 
     Each of the at least two predictors may output the prediction pattern of the image frame using a median edge detector (MED) scheme or a gradient-adjusted predictor (GAP) scheme. 
     The per-pixel error may correspond to a sum of an absolute difference (SAD) between a prediction value of each pixel and an actual pixel value. 
     The selection processor may include: a counting unit to count a predetermined value through a comparison for the at least two predictors by acquiring the per-pixel errors of the prediction patterns; and a selector to select the prediction pattern having the relatively small amount of errors from among prediction patterns with respect to the same pixel, using a counting result of the counting unit. 
     The counting unit may compare the per-pixel errors of the prediction patterns output by the at least two predictors to increase a count value of a prediction pattern of a predictor having a relatively small per-pixel error. 
     According to another aspect of the present invention, there is provided a hybrid prediction method of a hybrid prediction apparatus including at least two predictors, the method including: predicting, by each of the at least two predictors, a prediction pattern with respect to an input image frame using a correlation between pixels of the image frame; analyzing per-pixel errors of output prediction patterns to select, from among the output prediction patterns, a prediction pattern having a relatively small amount of errors; and performing entropy encoding of the image frame using the selected prediction pattern. 
     The predicting may include outputting the prediction pattern of the image frame using a MED scheme or a GAP scheme. 
     The per-pixel error corresponds to a sum of an SAD between a prediction value of each pixel and an actual pixel value. 
     The analyzing and the selecting may include: counting a predetermined value through a comparison for the at least two predictors by acquiring the per-pixel errors of the prediction patterns; and selecting the prediction pattern having the relatively small amount of errors from among prediction patterns with respect to the same pixel, using the count value. 
     The counting may include comparing the per-pixel errors of the prediction patterns output by the at least two predictors to increase a count value of a prediction pattern of a predictor having a relatively small per-pixel error. 
     Effect 
     According to embodiments of the present invention, even though an excessive prediction error occurs due to a particular pixel or a particular pattern when compressing an image, it is possible to achieve a mutual supplementation by employing a prediction pattern according to a different prediction scheme. 
     Also, according to embodiments of the present invention, it is possible to effectively compress an image and to reduce a capacity of the compressed image by selectively using a plurality of compression schemes. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and/or other aspects, features, and advantages of the invention will become apparent and more readily appreciated from the following description of exemplary embodiments, taken in conjunction with the accompanying drawings of which: 
         FIG. 1  is a block diagram illustrating a configuration of a hybrid prediction apparatus according to an embodiment of the present invention; 
         FIG. 2  is a diagram illustrating an example of a count value of a first predictor of  FIG. 1 ; 
         FIG. 3  is a diagram illustrating an example of a count value of a second predictor of  FIG. 1 ; 
         FIG. 4  is a flowchart illustrating an operation of a hybrid prediction apparatus according to an embodiment of the present invention; and 
         FIG. 5  is a flowchart illustrating a detailed process of selecting a prediction pattern of  FIG. 4 . 
     
    
    
     DETAILED DESCRIPTION 
     Reference will now be made in detail to exemplary embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. Exemplary embodiments are described below to explain the present invention by referring to the figures. 
     When it is determined detailed description related to a related known function or configuration they may make the purpose of the present invention unnecessarily ambiguous in describing the present invention, the detailed description will be omitted here. 
     Also, terms used herein are defined to appropriately describe the exemplary embodiments of the present invention and thus may be changed depending on a user, the intent of an operator, or a custom. Accordingly, the terms must be defined based on the following overall description of this specification. 
       FIG. 1  is a block diagram illustrating a configuration of a hybrid prediction apparatus  10  according to an embodiment of the present invention. 
     Referring to  FIG. 1 , the hybrid prediction apparatus  10  may include a first predictor  100 , a second predictor  200 , a selection processor  300 , and an entropy coder  400 . 
     When a predetermined image frame is input, each of the first predictor  100  and the second predictor  200  may output a prediction pattern using a correlation between pixels of the image frame. 
     In the case of the first predictor  100  and the second predictor  200 , at least two predictors may be provided and thereby employ different compression schemes. In the present embodiment, it is assumed that the first predictor  100  employs a median edge detector (MED) scheme of predicting a pixel value of the image frame and outputting three prediction patterns, and the second predictor  200  employs a gradient-adjusted predictor (GAP) scheme of predicting the pixel value of the image frame and outputting seven prediction patterns. 
     Each of the first predictor  100  and the second predictor  200  may predict a pixel value of each location with respect to the image frame, using adjacent pixels of a corresponding pixel. 
     The selection processor  300  may acquire per-pixel errors of prediction patterns output by the first predictor  100  and the second predictor  200 , and thereby select, from among the output prediction patterns, a prediction pattern having a relatively small amount of errors. 
     For the above operation, the selection processor  300  may include a counting unit  310  and a selector  320 . 
     The counting unit  310  may count a predetermined value through a comparison for the first predictor  100  and the second predictor  200  by acquiring the per-pixel errors of the prediction patterns output by the first predictor  100  and the second predictor  200 . 
     The selector  320  may select the prediction pattern having the relatively small amount of errors from among prediction patterns with respect to the same pixel, using a counting result of the counting unit  310 . 
     Here, the selector  320  may select one prediction pattern from the prediction patterns, for example, Ω={PredictorA i,j ,PredictorB i,j } output by the first predictor  100  and the second predictor  200 , and may finally determine a prediction pattern P i,j  according to the following Equation 1. 
     
       
         
           
             
               
                 
                   
                     P 
                     
                       i 
                       , 
                       j 
                     
                   
                   = 
                   
                     arg 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       
                         max 
                         
                           
                             f 
                             k 
                           
                           ∈ 
                           Ω 
                         
                       
                       ⁢ 
                       
                         C 
                         k 
                       
                     
                   
                 
               
               
                 
                   [ 
                   
                     Equation 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     1 
                   
                   ] 
                 
               
             
           
         
       
     
     The counting unit  310  may compare the per-pixel errors of the prediction patterns with respect to the first predictor  100  and the second predictor  200 , and may increase a count value C k  of a prediction pattern corresponding to a predictor, for example, the first predictor  100  having a relatively small per-pixel error. 
     In this instance, the per-pixel error corresponds to a sum of an absolute difference (SAD) between a prediction value of each pixel and an actual pixel value. 
     Accordingly, the counting unit  310  may count a count value C PredictorA     i,j    of each prediction pattern of the first predictor  100  and a count value C PredictorB     i,j    of each prediction pattern of the second predictor  200  according to a procedure disclosed in the following Equation 2.
 
if(SAD PredictorA     i,j   &lt;SAD PredictorB     i,j   ) C   PredictorA     i,j     =C   PredictorA     i,j   +1;
 
elseif(SAD PredictorA     i,j   ==SAD PredictorB     i,j   ){ C   PredictorA     i,j     =C   PredictorA     i,j   +1;
 
 C   PredictorB     i,j     =C   PredictorB     i,j   +1;}
 
else  C  PredictorB   i,j     =C   PredictorB     i,j   +1;  [Equation 2]
 
     The first predictor  100  employs the MED scheme of outputting three patterns and thus, may have prediction patterns of i={1, 2, 3}. Also, the second predictor  200  employs the GAP scheme of outputting seven patterns and thus, may have prediction patterns of j={1, 2, 3, 4, 5, 6, 7}. 
       FIG. 2  is a diagram illustrating an example of a count value for each prediction pattern of the first predictor  100  when the procedure of Equation 2 is performed, and  FIG. 3  is a diagram illustrating an example of a count value for each prediction pattern of the second predictor  200  when the procedure of Equation 2 is performed. 
     In  FIG. 2  and  FIG. 3 , the count value for each prediction pattern may be counted based on an amount of errors for each pixel according to the procedure of Equation 2. Accordingly, as the count value increases, a corresponding prediction pattern and a corresponding predictor may have a relatively small amount of errors. 
     Also, since the count value is processed by combining three patterns of the first predictor  100  and seven patterns of the second predictor  200 , 21 count values may exist. The counting unit  310  may store the count value by using 21 bits for each frame of an image. 
     The selector  320  may select a prediction pattern having a relatively small amount of errors from among prediction patterns output by the first predictor  100  and the second predictor  200  with respect to the same pixel, using a counting result of the counting unit  310 . 
     For example, when it is assumed that a prediction pattern of the first predictor  100  is i=1 and a prediction pattern of the second predictor  200  is j=3, the selector  320  may compare “474” corresponding to a case where i=1 and j=3 in  FIG. 2  with “450” corresponding to a case where i=1 and j=3 in  FIG. 3 . Here, “474” indicates a count value of the prediction pattern of the first predictor  100 , and “450” indicates a count value of the prediction pattern of the second predictor  200 . 
     Accordingly, the selector  320  may select a prediction pattern having a relatively great count value and the corresponding predictor, that is, the first predictor  100  having “474”. 
     The entropy coder  400  may perform entropy encoding using the prediction pattern selected by the selection processor  300 . 
     The entropy coder  400  may enable compression of the image frame by encoding a difference between a pixel value of the selected prediction pattern and an actual pixel value. The entropy coder  400  may employ various entropy coding schemes. 
       FIG. 4  is a flowchart illustrating an operation of the hybrid prediction apparatus  10  according to an embodiment of the present invention. 
     Referring to  FIG. 4 , in operation S 10 , each of the first predictor  100  and the second predictor  200  may output a prediction pattern using a correlation between pixels of an image frame. 
     In operation S 20 , the selection processor  300  may select a prediction pattern having a relatively small amount of errors by analyzing a per-pixel error of each output prediction pattern. 
     In operation S 30 , the entropy coder  400  may perform entropy encoding of the image frame using the selected prediction pattern. 
     The hybrid prediction apparatus  10  may perform entropy encoding at a relatively high compressibility by selectively using prediction patterns of the image frame that are output according to various prediction schemes, for example, the MED scheme and the GAP scheme. 
     According to an embodiment of the present invention, operation S 20  may include operations S 21  through S 23  of  FIG. 5 . 
     In operation S 21 , the counting unit  310  may acquire the per-pixel error of each prediction pattern output in operation S 10  of  FIG. 4 . 
     In operation S 22 , the counting unit  310  may count a predetermined value by comparing the acquired per-pixel values for the first predictor  100  and the second predictor  200 . 
     Here, the counting unit  310  may increase a count value of a prediction pattern corresponding to a prediction pattern, for example, the first predictor  100  having a relatively small per-pixel error according to the procedure of Equation 2. 
     In operation S 23 , the selector  320  may select a prediction pattern having a relatively small count value from among the prediction patterns output by the first predictor  100  and the second predictor  200  with respect to the same pixel, using the count value. 
     Accordingly, a hybrid prediction apparatus according to an embodiment of the present invention may supplement a particular pattern having a low compressibility by selecting, from among prediction patterns of the image frame, a prediction pattern having a relatively low count value with respect to the same pixel. 
     The above-described exemplary embodiments of the present invention may be recorded in computer-readable media including program instructions to implement various operations embodied by a computer. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. 
     Although a few exemplary embodiments of the present invention have been shown and described, the present invention is not limited to the described exemplary embodiments. Instead, it would be appreciated by those skilled in the art that changes may be made to these exemplary embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.