IP Library › Granted Patent US 10,448,043
Granted Patent B2
US 10,448,043 · App. 15/391,864 · Granted Oct 15, 2019

Motion estimation method and motion estimator for estimating motion vector of block of current frame

Inventors: Pengyuan Hu (Xi'an, CN); Xi Tian (Xi'an, CN); Yen-Sung Chen (New Taipei, TW); Yuanjia Du (Jianan, CN)
Assignee: NOVATEK Microelectronics Corp.
H04N19/513H04N19/105H04N19/14H04N19/56H04N19/172H04N19/176H04N19/52
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,448,043
App. No.
15/391,864
Granted
Oct 15, 2019
Kind
B2
Abstract

A motion estimation method and a motion estimator are provided. The motion estimation method includes the following steps of for each respective block of the current frame, selecting a candidate set associated with the current frame and a previous frame, and determining a motion vector according to the candidate set for the each respective block of the current frame. The candidate set includes at least one spatial candidate block in the current frame and temporal candidate blocks in the previous frame. The step of selecting the candidate set includes: selecting the spatial candidate block directly adjacent to the each respective block from the current frame and selecting the plurality of temporal candidate blocks directly adjacent to a reference block from the previous frame.

Claims (36)

1. A motion estimation method for estimating motion vectors of blocks of a current frame, comprising:

for each respective block of the current frame, selecting a candidate set associated with the current frame and a previous frame, the candidate set comprising at least one spatial candidate block in the current frame and a plurality of temporal candidate blocks in the previous frame, wherein the step of selecting the candidate set comprises:

selecting the at least one spatial candidate block directly adjacent to the each respective block from the current frame, wherein the at least one spatial candidate block is located in the same row or column of the current frame as the each respective block; and

selecting the plurality of temporal candidate blocks directly adjacent to a reference block from the previous frame, wherein the reference block spatially corresponds to the each respective block in the previous frame, and the plurality of temporal candidate blocks are located in the same row or column of the previous frame as the reference block; and

determining a motion vector according to the candidate set for the each respective block of the current frame;

wherein a relationship of the at least one spatial candidate block and the plurality of temporal candidate blocks comprises one of the following:

the at least one spatial candidate block is located in the same row of the current frame as the each respective block, and the plurality of temporal candidate blocks are located in the same column of the previous frame as the reference block without located in the same row of the previous frame as the reference block; and

the at least one spatial candidate block is located in the same column of the current frame as the each respective block, and the plurality of temporal candidate blocks are located in the same row of the previous frame as the reference block without located in the same column of the previous frame as the reference block.

2. The motion estimation method of claim 1 , further comprising:

selecting a search direction associated with the each respective block and the at least one spatial candidate block of the candidate set.

3. The motion estimation method of claim 2 , wherein the search direction is from the at least one spatial candidate block of the candidate set to the each respective block wherein only one spatial candidate block of the candidate set is selected.

4. The motion estimation method of claim 2 , further comprising:

determining the motion vectors of the blocks of the current frame in the search direction.

5. The motion estimation method of claim 1 , wherein one of the at least one spatial candidate block is adjacent to the left edge of the each respective block, and the plurality of temporal candidate blocks are adjacent to the top edge and the bottom edge of the reference block.

6. The motion estimation method of claim 1 , wherein one of the at least one spatial candidate block is adjacent to the right edge of the each respective block, and the plurality of temporal candidate blocks are adjacent to the top edge and the bottom edge of the reference block.

7. The motion estimation method of claim 1 , wherein one of the at least one spatial candidate block is adjacent to the top edge of the each respective block, and the plurality of temporal candidate blocks are adjacent to the left edge and the right edge of the reference block.

8. The motion estimation method of claim 1 , wherein one of the at least one spatial candidate block is adjacent to the bottom edge of the each respective block, and the plurality of temporal candidate blocks are adjacent to the left edge and the right edge of the reference block.

9. The motion estimation method of claim 1 , wherein the step of determining the motion vector according to the candidate set for the each respective block of the current frame comprises:

for each of the at least one spatial candidate block and the plurality of temporal candidate blocks, calculating a difference value between the each respective block and a shifted block, wherein the shifted block corresponds to the each respective block and a motion vector of one of the spatial candidate block and the plurality of temporal candidate blocks; and

determining the motion vector for the each respective block of the current frame according to the difference values associated with the at least one spatial candidate block and the plurality of temporal candidate blocks.

10. A motion estimator for estimating motion vectors of blocks of a current frame, comprising:

a candidate set generation circuit, for selecting a candidate set associated with the current frame and a previous frame for each respective block of the current frame, wherein the candidate set comprises at least one spatial candidate block in the current frame and a plurality of temporal candidate blocks in the previous frame; and

a motion vector determination circuit, for determining a motion vector according to the candidate set for the each respective block of the current frame;

wherein the candidate set generation circuit selects the at least one spatial candidate block directly adjacent to the each respective block from the current frame, wherein the at least one spatial candidate block is located in the same row or column of the current frame as the each respective block, and the candidate set generation circuit selects the plurality of temporal candidate blocks directly adjacent to a reference block from the previous frame, wherein the reference block spatially corresponds to the each respective block in the previous frame, and the plurality of temporal candidate blocks are located in the same row or column of the previous frame as the reference block;

wherein a relationship of the at least one spatial candidate block and the plurality of temporal candidate blocks comprises one of the following:

the at least one spatial candidate block is located in the same row of the current frame as the each respective block, and the plurality of temporal candidate blocks are located in the same column of the previous frame as the reference block without located in the same row of the previous frame as the reference block; and

the at least one spatial candidate block is located in the same column of the current frame as the each respective block, and the plurality of temporal candidate blocks are located in the same row of the previous frame as the reference block without located in the same column of the previous frame as the reference block.

11. The motion estimator of claim 10 , further comprising:

a search direction generation circuit, for selecting a search direction associated with the each respective block and the at least one spatial candidate block of the candidate set.

12. The motion estimator of claim 11 , wherein the search direction is from the at least one spatial candidate block of the candidate set to the each respective block wherein only one spatial candidate block of the candidate set is selected.

13. The motion estimator of claim 11 , wherein the motion vector determination circuit determines the motion vectors of the blocks of the current frame in the search direction.

14. The motion estimator of claim 10 , wherein one of the at least one spatial candidate block is adjacent to the left edge of the each respective block, and the plurality of temporal candidate blocks are adjacent to the top edge and the bottom edge of the reference block.

15. The motion estimator of claim 10 , wherein one of the at least one spatial candidate block is adjacent to the right edge of the each respective block, and the plurality of temporal candidate blocks are adjacent to the top edge and the bottom edge of the reference block.

16. The motion estimator of claim 10 , wherein one of the at least one spatial candidate block is adjacent to the top edge of the each respective block, and the plurality of temporal candidate blocks are adjacent to the left edge and the right edge of the reference block.

17. The motion estimator of claim 10 , wherein one of the at least one spatial candidate block is adjacent to the bottom edge of the each respective block, and the plurality of temporal candidate blocks are adjacent to the left edge and the right edge of the reference block.

18. The motion estimator of claim 10 , wherein the motion vector determination circuit calculates a difference value between the each respective block and a shifted block, wherein the shifted block corresponds to the each respective block and a motion vector of one of the spatial candidate block and the plurality of temporal candidate blocks for each of the at least one spatial candidate block and the plurality of temporal candidate blocks and determines the motion vector for the each respective block of the current frame according to the difference values associated with the at least one spatial candidate block and the plurality of temporal candidate blocks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2016
From: HU, PENGYUAN; TIAN, XI; CHEN, YEN-SUNG; DU, YUANJIA
To: NOVATEK MICROELECTRONICS CORP.
Reel/Frame 040777/0451 →
Continuity (1)
Related Publication 20180184106A1 · Jun 28, 2018