Method of encoding mode determination, method of motion estimation and encoding apparatus
First Claim
1. A method of determining an encoding mode, comprising:
- performing motion estimation of a macro block in an inter16×
16 mode, an inter16×
8 mode, and an inter8×
16 mode;
determining whether to further perform motion estimation in a P8×
8 mode;
according to the determination result, omitting or performing motion estimation in the P8×
8 mode and then selecting one mode from among the modes for which motion estimation has been performed; and
omitting or further performing spatial prediction encoding according to a rate-distortion cost of the selected mode and determining a final encoding mode.
3 Assignments
0 Petitions
Accused Products
Abstract
Motion estimation of a macro block in inter16×16, inter16×8, and inter8×16 modes is performed and a determination of whether to further perform motion estimation in a P8×8 mode is made. Motion estimation in P8×8 mode is either omitted or performed and one mode is determined according to a rate distortion cost of the respective modes. Spatial prediction encoding may then be performed or omitted based on comparing the rate distortion cost of the one mode with a predetermined value. Accordingly, by selectively omitting variable block motion estimation and spatial prediction encoding which are the most complicated operations in an H.264 encoder, determining an encoding mode is rapidly performed such that encoding speed increases.
-
Citations
19 Claims
-
1. A method of determining an encoding mode, comprising:
-
performing motion estimation of a macro block in an inter16×
16 mode, an inter16×
8 mode, and an inter8×
16 mode;
determining whether to further perform motion estimation in a P8×
8 mode;
according to the determination result, omitting or performing motion estimation in the P8×
8 mode and then selecting one mode from among the modes for which motion estimation has been performed; and
omitting or further performing spatial prediction encoding according to a rate-distortion cost of the selected mode and determining a final encoding mode. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of motion estimation of a macro block comprising:
-
performing motion estimation by using an entire macro block;
dividing the macro block into two in the horizontal direction or the vertical direction and then performing motion estimation by using each divided block;
dividing the macro block into 4 blocks of an identical size and performing motion estimation by using each divided block;
dividing each of the four divided blocks into two in the horizontal direction or the vertical direction and performing motion estimation by using each further divided block; and
dividing each of the four divided blocks into four and performing motion estimation by using each further divided block. - View Dependent Claims (11, 12, 13)
-
-
14. An encoding apparatus comprising:
-
a DCT+Q performing unit which receives picture data and performs discrete cosine transform (DCT) and quantization;
a rate-distortion optimization unit which calculates a rate-distortion cost of the picture data and determines an encoding block mode to be used in encoding the picture, and transfers the determined block mode to the DCT+Q performing unit; and
a motion estimator and a motion compensator which by using a reference frame and the input picture, performs motion estimation and compensation and transfers the result to the DCT+Q performing unit. - View Dependent Claims (15)
-
-
16. A method of determining an encoding mode, comprising:
-
performing motion estimation of a macro block in a plurality of modes including an inter16×
16 mode, an inter16×
8 mode, and an inter8×
16 mode;
determining a SAD value, an MVcost value and a sum of the SAD value and the MVcost value (SAD+MVcost) for each of the plurality of modes, the SAD value being a difference of a pixel value of a current picture and a pixel value of a previous picture and the MVcost value being a difference value of a motion vector of the current picture and a motion vector of a previous picture;
calculating a rate distortion cost (RDcost) in each of the plurality of modes and in a skip mode, if the (SAD+MVcost) for the inter 16×
16mode is smaller than the (SAD+MVcost) corresponding to the other ones of the plurality of modes;
selecting the mode having the smallest RDcost from among the plurality of modes and the skip mode; and
if the RDcost of the selected mode is less than M, determining the selected mode as the encoding mode, where M is a mean RDcost value of a plurality Intra macro blocks encoded in a spatial prediction mode and occurring in previous frames. - View Dependent Claims (17)
-
-
18. A method of determining an encoding mode, comprising:
-
performing motion estimation of a macro block in a first plurality of modes comprising an inter16×
16 mode, an inter16×
8 mode, and an inter8×
16 mode;
determining a SAD value, an MVcost value and a sum of the SAD value and the MVcost value (SAD+MVcost) for each of the first plurality of modes, the SAD value being a difference of a pixel value of a current picture and a pixel value of a previous picture and the MVcost value being a difference value of a motion vector of the current picture and a motion vector of a previous picture;
performing motion estimation in a each of a second plurality of modes, if the (SAD+MVcost) for the inter16×
16 mode is not smaller than the (SAD+MVcost) corresponding to the other ones of the first plurality of modes, the second plurality of modes comprising an Inter8×
8 mode, an Inter8×
4mode, an Inter4×
8mode and an inter 4×
4mode;
calculating an RDcost value for each of the second plurality of modes;
selecting the mode from among the second plurality of modes having the smallest RDcost, if the RDcost of the mode having the smallest RDcost is less than M/4, where M is a mean RDcost value of a plurality of Intra macro blocks occurring in previous frames and encoded in a spatial prediction mode; and
if the RDcost of the selected mode is less than M, determining the selected mode as the encoding mode, - View Dependent Claims (19)
-
Specification