MPEG motion estimation based on dual start points
First Claim
Patent Images
1. A method to determine a video motion estimation comprising:
- selecting a first predict start point in a search frame and a second predict start point in the search frame;
using the first predict start point, performing a first coarse search to select a block in a reference frame that is a good match to a block in the search frame; and
using information from the good match block and the second predict start point, performing a second coarse search in an effort to select a block in the reference frame that is a better match to the block in the search frame.
2 Assignments
0 Petitions
Accused Products
Abstract
A more efficient motion estimation process that utilizes a plurality of predicted start points (e.g., two predicted start points) based on blocks adjacent to the current block together with other improvements and requires minimal system resources (e.g., hardware resources and CPU processing) in its hardware implementation is provided. More particularly, the motion estimation technique in accordance with the present invention performs a plurality of coarse searches (either sequentially or in parallel) using a plurality of predicted start positions followed by a fine search.
-
Citations
34 Claims
-
1. A method to determine a video motion estimation comprising:
-
selecting a first predict start point in a search frame and a second predict start point in the search frame;
using the first predict start point, performing a first coarse search to select a block in a reference frame that is a good match to a block in the search frame; and
using information from the good match block and the second predict start point, performing a second coarse search in an effort to select a block in the reference frame that is a better match to the block in the search frame. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method to determine a video motion estimation comprising:
-
selecting a first predict start point in a search frame and a second predict start point in the search frame;
using the first predict start point and the second predict start point in the search frame, concurrently performing a first diamond search and a second diamond search to select two blocks in a reference frame that are good matches to a block in the search frame;
using information from the two good match blocks, concurrently performing a first smaller diamond search and a second smaller diamond search to select two blocks in the reference frame that are better matches to the block in the search frame, wherein the first smaller diamond search is based on information from the first diamond search and the second smaller diamond search is based on information from the second diamond search; and
comparing the two better match blocks to select a more matched block of the two. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A video motion estimator coupled to memory and a Central Processing Unit (CPU) comprising:
-
a diamond search module coupled to memory, the diamond search module performing diamond searches to select a block in a reference frame that is a match to a block in a search frame based on a selection criteria;
a compare and motion vector module coupled the diamond search module, the compare and motion vector module monitoring and storing an updated selection criteria value, the compare and motion vector module monitoring and determining the motion vector associated with the matched block associated with the updated criteria value; and
a scheduler coupled to the diamond search module, the scheduler controlling searches performed by the diamond search module based on a predetermined motion estimation process utilizing two predicted start positions. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A computer system adapted to perform motion estimation on video data comprising:
-
a central processing unit (CPU);
system memory coupled to the CPU;
a video interface coupled to the CPU, the video interface receiving video data from a video source;
a video display coupled to the CPU;
a graphics/display controller coupled to the CPU, the video interface, the video display, and the system memory, the graphics controller comprising;
a graphics engine (GE);
an memory interface unit (MIU) coupled to the GE;
memory coupled to the MIU; and
a video encoder connected to the MIU and coupled to the memory, the video encoder comprising;
a diamond search module coupled to memory, the diamond search module performing a diamond search to select a block in a reference frame that is a match to a block in a search frame based on a selection criteria;
an 8×
8 search module coupled to memory, the 8×
8 search module performing an 8×
8 search to select a block in a reference frame that is a match to a block in a search frame based on the selection criteria;
a compare and motion generator module coupled the diamond search module and the 8×
8 search module, the compare and motion generator module monitoring and storing an updated selection criteria value, the compare and motion generator module generating the motion vector associated with the match block associated with the updated criteria value; and
a scheduler coupled to the diamond search module and the 8×
8 search module, the scheduler controlling searches performed by the diamond search module and 8×
8 search module based on a predetermined motion compensated estimation process utilizing two predicted start positions. - View Dependent Claims (33, 34)
-
Specification