IP Library Granted Patent US 10,757,438
Granted Patent B2
US 10,757,438 · App. 15/463,387 · Granted Aug 25, 2020

Motion estimation

Inventors: Sean Chen (Beijing, CN); David Wang (Burnaby, CA)
Assignee: Polycom, Inc.
H04N19/513H04N19/105H04N19/523H04N19/533H04N19/172H04N19/176H04N19/182
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,757,438
App. No.
15/463,387
Granted
Aug 25, 2020
Kind
B2
Abstract

A technique of motion estimation in video compression is described, the technique including: determining, in one or more reference frames of a video picture, the best full-pixel motion vector F for a block in a current frame of the video picture, wherein m and n are signed numbers and integer multiples of the distance between two adjacent full-pixels; selecting the best half-pixel motion vector candidates from a set of half-pixel motion vectors based on the best full-pixel motion vector; determining the best half-pixel motion vector H; selecting the best quarter-pixel motion vector candidates from a set of quarter-pixel motion vectors based on the best full-pixel motion vector and the best half-pixel motion vector; determining the best quarter-pixel motion vector Q; and determining the best motion vector for the block as BMV.

Claims (69)

1. A method of efficiently reducing complexity of sub pixel motion estimation in video compression for limiting degradation, comprising:

determining, in one or more reference frames of a video picture, a best full-pixel motion vector F for a block in a current frame of the video picture;

determining a best half-pixel motion vector H from a set of half-pixel motion vectors based on the best full-pixel motion vector;

determining a best quarter-pixel motion vector Q from a set of quarter-pixel motion vectors based on the best full-pixel motion vector and the best half-pixel motion vector;

determining the best motion vector for the block as BMV=F+H+Q; and

determining full-pixel motion estimation based on the best motion vector.

2. The method of claim 1 , wherein determining the best half-pixel motion vector H comprises:

selecting all of the set of half-pixel motion vectors as a set of best half-pixel motion vector candidates responsive to the best full-pixel motion vector F being a zero vector;

selecting the set of best half-pixel motion vector candidates comprising half-pixel motion vectors in a same and opposite directions of the best full-pixel motion vector, responsive to the best full-pixel motion vector being a non-zero vector along either an x or y axis;

selecting the set of best half-pixel motion vector candidates comprising half-pixel motion vectors in a same and opposite trend directions of the best full-pixel motion vector, responsive to the best full-pixel motion vector being a non-zero vector in a direction not along either an x or y axis; and

selecting the best half-pixel motion vector from the set of best half-pixel motion vector candidates.

3. The method of claim 1 , wherein determining the best half-pixel motion vector H comprises:

determining the half-pixel motion vector whose corresponding block best matches the block in the current frame.

4. The method of claim 1 , wherein determining the best quarter-pixel motion vector Q comprises:

determining which of the block corresponding to the best full-pixel motion vector and the block corresponding to the best half-pixel motion vector better matches the block in the current frame.

5. The method of claim 4 ,

wherein determining which of the block corresponding to the best full-pixel motion vector and the block corresponding to the best half-pixel motion vector better matches the block in the current frame comprises:

selecting the quarter-pixel motion vector in the opposite direction of the best half-pixel motion vector responsive to the block corresponding to the best full-pixel motion vector better matching the block in the current frame and responsive to the best full-pixel motion vector being a zero vector, and

wherein selecting the best quarter-pixel motion vector candidates comprises:

selecting all of the set of quarter-pixel motion vectors as the best quarter-pixel motion vector candidates responsive to a determination that the block corresponding to the best full-pixel motion vector better matches the block in the current frame and the best full-pixel motion vector is a non-zero vector; and

selecting the quarter-pixel motion vectors in the same trend direction of the best half-pixel motion vector, as the best quarter-pixel motion vector candidates, wherein each of the best quarter-pixel motion vector candidates belongs to the set of quarter-pixel motion vectors, responsive to a determination that the block corresponding to the best half-pixel motion vector better matches the block in the current frame.

6. The method of claim 1 , wherein determining the best quarter-pixel motion vector comprises:

determining which of the set of quarter-pixel motion vectors has a corresponding block that best matches the block in the current frame.

7. A system of efficiently reducing complexity of sub pixel motion estimation for limiting degradation, comprising:

a first determination module adapted for determining, in one or more reference frames of the video picture, a best full-pixel motion vector F for a block in a current frame of a video picture;

a second determination module adapted for determining a best half-pixel motion vector H from a set of half-pixel motion vectors based on the best full-pixel motion vector;

a third determination module adapted for determining a best quarter-pixel motion vector Q from a set of quarter-pixel motion vectors based on the best full-pixel motion vector and the best half-pixel motion vector;

a fourth determination module adapted for determining the best motion vector for the block as BMV=F+H+Q; and

a usage module adapted for determining full-pixel motion estimation based on the best motion vector.

8. The system of claim 7 , wherein determining the best half-pixel motion vector H comprises:

selecting all of the set of half-pixel motion vectors as a set of best half-pixel motion vector candidates responsive to the best full-pixel motion vector F being a zero vector;

selecting the set of best half-pixel motion vector candidates comprising half-pixel motion vectors in a same and opposite directions of the best full-pixel motion vector, responsive to the best full-pixel motion vector being a non-zero vector along either an x or y axis;

selecting the set of best half-pixel motion vector candidates comprising half-pixel motion vectors in a same and opposite trend directions of the best full-pixel motion vector, responsive to the best full-pixel motion vector being a non-zero vector in a direction not along either an x or y axis; and

selecting the best half-pixel motion vector from the set of best half-pixel motion vector candidates.

9. The system of claim 7 , wherein determining the best half-pixel motion vector H comprises:

determining the half-pixel motion vector whose corresponding block best matches the block in the current frame.

10. The system of claim 7 , wherein determining the best quarter-pixel motion vector Q comprises:

determining which of the block corresponding to the best full-pixel motion vector and the block corresponding to the best half-pixel motion vector better matches the block in the current frame.

11. The system of claim 10 ,

wherein determining which of the block corresponding to the best full-pixel motion vector and the block corresponding to the best half-pixel motion vector better matches the block in the current frame comprises:

selecting the quarter-pixel motion vector in the opposite direction of the best half-pixel motion vector responsive to the block corresponding to the best full-pixel motion vector better matching the block in the current frame and responsive to the best full-pixel motion vector being a zero vector, and

wherein selecting the best quarter-pixel motion vector candidates comprises:

selecting all of the set of quarter-pixel motion vectors as the best quarter-pixel motion vector candidates responsive to a determination that the block corresponding to the best full-pixel motion vector better matches the block in the current frame and the best full-pixel motion vector is a non-zero vector; and

selecting the quarter-pixel motion vectors in the same trend direction of the best half-pixel motion vector, as the best quarter-pixel motion vector candidates, wherein each of the best quarter-pixel motion vector candidates belongs to the set of quarter-pixel motion vectors, responsive to a determination that the block corresponding to the best half-pixel motion vector better matches the block in the current frame.

12. The system of claim 7 , wherein determining the best quarter-pixel motion vector comprises:

determining which of the set of quarter-pixel motion vectors has a corresponding block that best matches the block in the current frame.

13. One or more non-transitory machine-readable media on which are stored instructions for efficiently reducing complexity of sub pixel motion estimation, comprising instructions that when executed cause a machine to:

determine, in one or more reference frames of a video picture, a best full-pixel motion vector F for a block in a current frame of the video picture;

determine a best half-pixel motion vector H from a set of half-pixel motion vectors based on the best full-pixel motion vector;

determine a best quarter-pixel motion vector Q from a set of quarter-pixel motion vectors based on the best full-pixel motion vector and the best half-pixel motion vector;

determine the best motion vector for the block as BMV=F+H+Q; and

determine full-pixel motion estimation based on the best motion vector.

14. The one or more machine-readable media of claim 13 , wherein the instructions that when executed cause the machine to determine the best half-pixel motion vector H comprise instructions that when executed cause the machine to:

select all of the set of half-pixel motion vectors as a set of best half-pixel motion vector candidates responsive to the best full-pixel motion vector F being a zero vector;

select the set of best half-pixel motion vector candidates comprising half-pixel motion vectors in a same and opposite directions of the best full-pixel motion vector, responsive to the best full-pixel motion vector being a non-zero vector along either an x or y axis;

select a set of best half-pixel motion vector candidates comprising half-pixel motion vectors in a same and opposite trend directions of the best full-pixel motion vector, responsive to the best full-pixel motion vector being a non-zero vector in a direction not along either an x or y axis; and

select the best half-pixel motion vector from the set of best half-pixel motion vector candidates.

15. The one or more machine-readable media of claim 13 , wherein the instructions that when executed cause the machine to determine the best half-pixel motion vector H comprise instructions that when executed cause the machine to:

determine the half-pixel motion vector whose corresponding block best matches the block in the current frame.

16. The one or more machine-readable media of claim 13 , wherein the instructions that when executed cause the machine to determine the best quarter-pixel motion vector Q comprise instructions that when executed cause the machine to:

determine which of the block corresponding to the best full-pixel motion vector and the block corresponding to the best half-pixel motion vector better matches the block in the current frame.

17. The one or more machine-readable media of claim 16 ,

wherein the instructions that when executed cause the machine to determine which of the block corresponding to the best full-pixel motion vector and the block corresponding to the best half-pixel motion vector better matches the block in the current frame comprise instructions that when executed cause the machine to:

select the quarter-pixel motion vector in the opposite direction of the best half-pixel motion vector responsive to the block corresponding to the best full-pixel motion vector better matching the block in the current frame and responsive to the best full-pixel motion vector being a zero vector, and

wherein the instructions that when executed cause the machine to select the best quarter-pixel motion vector candidates comprise instructions that when executed cause the machine to:

select all of the set of quarter-pixel motion vectors as the best quarter-pixel motion vector candidates responsive to a determination that the block corresponding to the best full-pixel motion vector better matches the block in the current frame and the best full-pixel motion vector is a non-zero vector; and

select the quarter-pixel motion vectors in the same trend direction of the best half-pixel motion vector, as the best quarter-pixel motion vector candidates, wherein each of the best quarter-pixel motion vector candidates belongs to the set of quarter-pixel motion vectors, responsive to a determination that the block corresponding to the best half-pixel motion vector better matches the block in the current frame.

18. The one or more machine-readable media of claim 13 , wherein the instructions that when executed cause the machine to determine the best quarter-pixel motion vector comprise instructions that when executed cause the machine to:

determine which of the set of quarter-pixel motion vectors has a corresponding block that best matches the block in the current frame.

Assignments (5)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 22, 2023
From: POLYCOM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 064056/0947 →
RELEASE OF PATENT SECURITY INTERESTS Recorded Aug 30, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: PLANTRONICS, INC.; POLYCOM, INC.
Reel/Frame 061356/0366 →
SECURITY AGREEMENT Recorded Jul 5, 2018
From: PLANTRONICS, INC.; POLYCOM, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 046491/0915 →
RELEASE OF SECURITY INTEREST Recorded Jul 3, 2018
From: MACQUARIE CAPITAL FUNDING LLC
To: POLYCOM, INC.
Reel/Frame 046472/0815 →
SECURITY INTEREST Recorded Aug 1, 2017
From: POLYCOM, INC.
To: MACQUIRE CAPITAL FUNDING LLC
Reel/Frame 043156/0239 →
Continuity (2)
Continuation 14498010 · Sep 26, 2014
Related Publication 20170195686A1 · Jul 6, 2017