Abstract:
The disclosure provides a Light-weight Video Coding system and a decoder for a Light-weight Video Coding system. The decoder includes: a mode decision module and a motion estimation module. The mode decision module, which adopts four flexible types of mode decision, is used for selecting a mode. And, it is used for selecting at least one predetermined block of a current frame according to the mode including plurality pixels. The motion estimation module, which adopts the Partial Boundary Matching Algorithm, is used for selecting partial neighbor pixels of left and top of the block according to the predetermined block in the current frame. And it is used for comparing with corresponding neighbor plurality pixels of left and top with a corresponding predetermined block in reference frame. It is determining whether the corresponding predetermined block in the reference frame copies and pastes to the predetermined block in the current frame.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present disclosure relates to a light-weight video coding system and a decoder for a light-weight video coding system. 
         [0003]    2. Description of the Related Art 
         [0004]    The conventional Distributed Video Coding system transfers the computational complexity of encoder to the decoder; thus the encoder complexity decreases low, but the decoder complexity increases by several times. Therefore, it is difficult to utilize real time system. As a result, the total performance of the conventional Distributed Video Coding system is low, and the high efficiency video cannot be performed. However, the Light-weight Video Coding system decreases encoder complexity and meanwhile decreases decoder complexity for realizing the real time system. 
       SUMMARY OF THE INVENTION 
       [0005]    The present disclosure provides a light-weight video coding system. The light-weight video coding system includes an encoder and a decoder. The encoder includes: a classifier, a skip block mask module, an encoding skip block record table and an encoding module. The decoder includes: a decoding module, a decoding skip block record table, a mode decision module, a block padding module and a pixel padding module. 
         [0006]    The classifier includes a first classifying module and a second classifying module. The first classifying module is used for obtaining at least one zero motion block, and the second classifying module is used for obtaining at least one low motion block. The skip block mask module is used for masking portion of an image information to be at least one skip block according to the at least one zero motion block and the at least one low motion block, non-masking portion of the image information is at least one non-skip block. The encoding skip block record table is used for recording the at least one skip block. The encoding module is used for encoding the at least one non-skip block to be an encoded image information. 
         [0007]    The decoding module is used for decoding the encoded image information to be at least one non-skip block. The decoding skip block record table is used for receiving the encoding skip block record table. The mode decision module is used for selecting a mode according to the decoding skip block record table, and is used for selecting at least one predetermined block of a current frame. The predetermined block includes a plurality of pixels. The block padding module includes a zero motion vector replacement module and a motion estimation module. The zero motion vector replacement module is used for replacing the at least one zero motion block of the current frame by at least one corresponding zero motion block of a reference frame. The motion estimation module is used for selecting a plurality of neighbor pixels outside of left part and top part of the predetermined block according to the at least one low motion block and the predetermined block of the current frame, and is used for comparing with a plurality of corresponding neighbor pixels outside of left part and top part of a corresponding predetermined block of the reference frame to determine whether the corresponding predetermined block of the reference frame is copied to the predetermined block of the current frame. The pixel padding module is used for padding at least one remainder pixel of the current frame. 
         [0008]    The present disclosure provides a decoder for a light-weight video coding system. The decoder includes: a mode decision module and a motion estimation module. The mode decision module is used for selecting a mode, and is used for selecting at least one predetermined block of a current frame according to the mode. The predetermined block includes a plurality of pixels. The motion estimation module is used for selecting a plurality of neighbor pixels outside of left part and top part of the predetermined block according to the predetermined block of the current frame, and is used for comparing with a plurality of corresponding neighbor pixels outside of left part and top part of a corresponding predetermined block of a reference frame to determine whether the corresponding predetermined block of the reference frame is copied to the predetermined block of the current frame. 
         [0009]    The complexity of the decoder of the light-weight video coding system can greatly be reduced, and the total performance of the light-weight video coding system can be improved. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0010]      FIG. 1  shows a schematic view of a decoder for a light-weight video coding system according to the present disclosure. 
           [0011]      FIG. 2  shows a schematic view of each mode of a mode decision module according to the present disclosure. 
           [0012]      FIG. 3  shows a schematic view of the comparison of a motion estimation module according to the present disclosure. 
           [0013]      FIG. 4  shows a schematic view of an encoder of the light-weight video coding system according to the present disclosure. 
           [0014]      FIG. 5  shows a schematic view of a decoder of the light-weight video coding system according to the present disclosure. 
           [0015]      FIG. 6  shows a schematic view of the comparison of a spatio-temporal texture synthesis module according to the present disclosure. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0016]      FIG. 1  shows a schematic view of a decoder for a light-weight video coding system according to the present disclosure. Referring to  FIG. 1 , in an embodiment, a decoder  10  for a light-weight video coding system of the present disclosure includes a mode decision module  11  and a motion estimation module  12 . 
         [0017]      FIG. 2  shows a schematic view of each mode of a mode decision module according to the present disclosure. Referring to  FIG. 1  and  FIG. 2 , the mode decision module  11  is used for selecting a mode, and is used for selecting at least one predetermined block of a current frame according to the mode. The predetermined block includes a plurality of pixels. In an embodiment, the modes include mode  0 , mode  1 , mode  2  and mode  3 . In mode  0 , the predetermined block  21  is a 4×4 matrix, and includes 16 pixels. In mode  1 , two predetermined blocks  22 ,  23  are provided, each predetermined block is a 4×2 matrix, and each predetermined block includes 8 pixels. In mode  2 , two predetermined blocks  24 ,  25  are provided, each predetermined block is a 2×4 matrix, and each predetermined block includes 8 pixels. In mode  3 , four predetermined blocks  26 ,  27 ,  28 ,  29  are provided, each predetermined block is a 2×2 matrix, and each predetermined block includes 4 pixels. According to the required complexity and resolution, the mode decision module  11  can flexibly determine different mode. 
         [0018]      FIG. 3  shows a schematic view of the comparison of a motion estimation module according to the present disclosure. Referring to  FIG. 1  to  FIG. 3 , the motion estimation module  12  is used for selecting a plurality of neighbor pixels outside of left part and top part of the predetermined block  321  according to the predetermined block  321  of the current frame  32 , and is used for comparing with a plurality of corresponding neighbor pixels outside of left part and top part of a corresponding predetermined block  311  of a reference frame  31  to determine whether the corresponding predetermined block  311  of the reference frame  31  is copied to the predetermined block  321  of the current frame  32 . In an embodiment, if mode  0  is selected, the predetermined block  321  is a 4×4 matrix including 16 pixels, and there are 9 neighbor pixels outside of left part and top part of the predetermined block  321 . Similarly, there are 9 neighbor pixels outside of left part and top part of the corresponding predetermined block  311 . If the difference between the sum of the pixel values for the 9 neighbor pixels outside of left part and top part of the predetermined block  321  and the sum of the pixel values for 9 neighbor pixels outside of left part and top part of the corresponding predetermined block  311  is within a predetermined value, the corresponding predetermined block  311  of the reference frame  31  can be copied to the predetermined block  321  of the current frame  32 . 
         [0019]    The reference frame  31  can be a neighbor frame before the current frame  32  or a neighbor frame after the current frame  32 . The motion estimation module  12  can proceed to compare within a search range  312  (shown in the dotted line of  FIG. 3 ) of the reference frame  31  to determine a candidate block. The difference between the sum of the pixel values for the 9 neighbor pixels outside of left part and top part of the predetermined block  321  and the sum of the pixel values for 9 neighbor pixels outside of left part and top part of the candidate block in the search range  312  is fewest. Then, the candidate block in the search range  312  of the reference frame  31  can be copied to the predetermined block  321  of the current frame  32   
         [0020]    The mode further comprises a comparing order, and the motion estimation module  12  proceeds to compare according to the comparing order. In an embodiment, if mode  0  is selected, the motion estimation module  12  proceeds to compare only the predetermined block of the mode  0 . If mode  3  is selected, the motion estimation module  12  proceeds to compare the predetermined block of the mode  0  firstly, then proceeds to compare the predetermined blocks of the mode  1 ,  2  and  3  in sequence, and a best match block is selected. 
         [0021]    Using the mode decision module and the motion estimation module, the complexity of the decoder of the disclosure can greatly be reduced, and the performance of the decoder can be improved. Furthermore, according to the required complexity and resolution, the mode decision module can flexibly determine different mode so that the motion estimation module can flexibly proceed to estimate to further improve the performance. 
         [0022]      FIG. 4  shows a schematic view of an encoder of the light-weight video coding system according to the present disclosure.  FIG. 5  shows a schematic view of a decoder of the light-weight video coding system according to the present disclosure. Referring to  FIG. 4  and  FIG. 5 , the light-weight video coding system includes an encoder  40  and a decoder  50 . The encoder  40  includes: a classifier  41 , a skip block mask module  42 , an encoding skip block record table  45  and an encoding module  46 . 
         [0023]    The classifier  41  includes a first classifying module  411  and a second classifying module  412 . The first classifying module  411  is used for obtaining at least one zero motion block. In an embodiment, the first classifying module  411  can be a sum of absolute differences (SAD) classifying module to calculate the sum of absolute differences between the value of the pixels in a block of the current frame and the value of the pixels in a corresponding block of the reference frame. If the sum is smaller than a predetermined value, it means that the pixels in the block of the current frame are similar to the pixels in the corresponding block of the reference frame, and the block of the current frame is a zero motion block. Thus, the zero motion block of the current frame can be obtained. 
         [0024]    The second classifying module  412  is used for obtaining at least one low motion block. In an embodiment, the second classifying module  412  can be a direct current (DC) classifying module to calculate the difference between the average value of the pixels in a block of the current frame and the average value of the pixels in a corresponding block of the reference frame. If the average difference is smaller than a predetermined value, it means that the difference between the pixels in the block of the current frame and the pixels in the corresponding block of the reference frame is not large, and the block of the current frame is classified to a low motion block. Thus, the low motion block of the current frame can be obtained. 
         [0025]    The skip block mask module  42  is used for masking portion of an image information (A) to be at least one skip block according to the at least one zero motion block and the at least one low motion block, non-masking portion of the image information is at least one non-skip block. In an embodiment, the image information can be the information of the current frame. The at least one skip block includes the at least one zero motion block and the at least one low motion block, it means that the at least one zero motion block and the at least one low motion block can be obtained from the reference frame, and can be skipped when encoding. 
         [0026]    The encoding skip block record table  45  is used for recording the at least one skip block. The encoding module  46  is used for encoding the at least one non-skip block to be an encoded image information (B). The encoding module  46  can use an encoding standard, for example H.263+, H.264/AVC, MPEG-2, MPEG-4, JPEG or JPEG-2000 etc., but the encoding standard is not limited to the above encoding standard. 
         [0027]    The decoder  50  includes: a decoding module  51 , a decoding skip block record table  54 , a mode decision module  55 , a block padding module  56  and a pixel padding module  57 . The decoding module  51  is used for decoding the encoded image information (B) to be at least one non-skip block. The decoding skip block record table  54  is used for receiving the information (C) of the encoding skip block record table  45 . 
         [0028]    The mode decision module  55  is used for selecting a mode according to the decoding skip block record table  54 , and is used for selecting at least one predetermined block of the current frame. The predetermined block includes a plurality of pixels. The mode decision module  55  can refer to the mode decision module  11  in  FIG. 1  and the description of  FIG. 2 , and will not be described in detail. 
         [0029]    The block padding module  56  includes a zero motion vector replacement module  561  and a motion estimation module  562 . The zero motion vector replacement module  561  is used for replacing the at least one zero motion block of the current frame by at least one corresponding zero motion block of the reference frame. As stated in the above, since the pixels in the zero motion block of the current frame are the same as the pixels in the corresponding zero motion block of the reference frame, the zero motion block of the current frame  32  can be replaced by the corresponding zero motion block of the reference frame  31 . 
         [0030]    The motion estimation module  562  is used for selecting a plurality of neighbor pixels outside of left part and top part of the predetermined block according to the at least one low motion block and the predetermined block of the current frame, and is used for comparing with a plurality of corresponding neighbor pixels outside of left part and top part of a corresponding predetermined block of the reference frame to determine whether the corresponding predetermined block of the reference frame is copied to the predetermined block of the current frame. In an embodiment, the motion estimation module  562  proceeds to compare within a search range of the reference frame according to the at least one low motion block. Since the low motion block of the current frame is corresponding to the low motion block of the reference frame, the block being similar to or same as the low motion block of the current frame can be obtained in the search range of the reference frame so as to reduce the complexity of the decoder. The motion estimation module  562  can refer to the motion estimation module  12  in  FIG. 1  and the description of  FIG. 2  and  FIG. 3 , and will not be described in detail. 
         [0031]    The pixel padding module  57  is used for padding at least one remainder pixel of the current frame. All the zero motion blocks and portion of the low motion blocks are padded by the block padding module  56 , the other low motion block and the at least one remainder pixel can be padded by the pixel padding module  57 . The pixel padding module  57  includes a spatial-temporal texture synthesis module  571  and a pixel interpolation module  572 . 
         [0032]      FIG. 6  shows a schematic view of the comparison of a spatio-temporal texture synthesis module according to the present disclosure. Referring to  FIG. 5  and  FIG. 6 , the spatial-temporal texture synthesis module  571  is used for selecting a template block  62  outside of left part of the remainder pixel  611  in the skip block  61  of the current frame  60 , and is used for comparing with a match block  64  of the current frame  60  or the reference frame to determine whether a candidate pixel  631  of the match block  64  is pasted to the remainder pixel  611 . In an embodiment, the skip block  61  is a 4×4 matrix, and the template block  62  and the match block  64  are 3×3 matrixes. 
         [0033]    The pixel interpolation module  572  is used for selecting a plurality of selection pixels outside of the at least one skip block according to the remainder pixel of the at least one skip block of the current frame, and for averagely calculating the selection pixels to obtain the remainder pixel. In an embodiment, the pixel interpolation module  572  is used for selecting the neighbor selection pixels outside of the at least one skip block, and for averagely calculating the interpolation value of the neighbor selection pixels to obtain the remainder pixel. Therefore, the decoder  50  can obtain the information (D) of the current frame. 
         [0034]    The encoder  40  further comprises a rearrangement module  43  for rearranging the at least one non-skip block by new order. The decoder  50  further comprises an inverse rearrangement module  53  for recovering the order of the at least one non-skip block. 
         [0035]    The encoder  40  further comprises a sub-framing module  44  for reducing the size of the current frame, for example ½, ¼ or several segments of the current frame. The decoder  50  further comprises a sub-frame recovery module  52  for recovering the size of the current frame. 
         [0036]    After experiment, the complexity of the decoder of the light-weight video coding system can greatly be reduced, and the total performance of the light-weight video coding system can be improved. Furthermore, according to the required complexity and resolution, the mode decision module can flexibly determine different mode so that the motion estimation module can flexibly proceed to estimate to further improve the performance. 
         [0037]    While several embodiments of the present disclosure have been illustrated and described, various modifications and improvements can be made by those skilled in the art. The embodiments of the present disclosure are therefore described in an illustrative but not in a restrictive sense. It is intended that the present disclosure should not be limited to the particular forms as illustrated and that all modifications which maintain the spirit and scope of the present disclosure are within the scope defined in the appended claims.