IP Library Granted Patent US 8,761,261
Granted Patent B1
US 8,761,261 · App. 12/510,716 · Granted Jun 24, 2014

Encoding using motion vectors

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 8,761,261
App. No.
12/510,716
Granted
Jun 24, 2014
Kind
B1
Abstract

Various embodiments provide techniques and/or systems for reducing instances of computational complexity involved in video encoding.

Claims (46)

1. A method comprising:

determining a motion vector with integer accuracy for each of multiple partition modes, each of the multiple partition modes representing a different way in which to partition a block of pixels of video media;

determining Sum of Absolute Difference (SAD) information for each of the multiple partition modes based on each partition mode's motion vector with integer accuracy;

determining a most-accurate partition mode of the multiple partition modes based on the SAD information of the multiple partition modes;

interpolating, with a bi-linear filter, a subset of potential half-pixel points surrounding an integer pixel point of the most-accurate partition mode's motion vector with integer accuracy;

determining, based on the subset of potential half-pixel points, a most-accurate half-pixel point of the most-accurate partition mode's motion vector;

re-interpolating, with a six-tap filter, the most-accurate half-pixel point to increase an accuracy of the most-accurate half-pixel point;

interpolating, with a six-tap filter, a subset of potential quarter-pixel points surrounding the re-interpolated most-accurate half-pixel point of the most-accurate partition mode's motion vector;

determining a motion vector with quarter-pixel accuracy for the most-accurate partition mode based on the subset of potential quarter-pixel points surrounding the re-interpolated most-accurate half-pixel point of the most-accurate partition mode's motion vector; and

encoding the block of pixels of video media using the motion vector with quarter-pixel accuracy for the most-accurate partition mode.

2. The method of claim 1 , wherein encoding the block of pixels of video media is compliant with an H.264 video compression standard.

3. The method of claim 1 , wherein the block of pixels of video media is a macroblock of pixels.

4. The method of claim 3 , wherein determining the motion vector with quarter-pixel accuracy determines a motion vector with quarter-pixel accuracy for only the most-accurate partition mode.

5. The method of claim 1 , wherein the multiple partition modes include a 16×16 partition mode, a 16×8 partition mode, an 8×16 partition mode, an 8×8 partition mode, an 8×4 partition mode, a 4×8 partition mode, and a 4×4 partition mode.

6. The method of claim 1 , wherein determining the SAD information for each of the multiple partition modes determines coarse SAD information and wherein determining the most-accurate partition mode of the multiple partition modes is based on the coarse SAD information of the multiple partition modes.

7. The method of claim 1 , wherein the subset of potential quarter-pixel points is approximately symmetrical with respect to the re-interpolated most-accurate half-pixel point.

8. The method of claim 1 , wherein the subset of potential quarter-pixel points includes potential quarter-pixel points that are located non-symmetrically around the re-interpolated most-accurate half-pixel point.

9. A system comprising:

an encoder configured to:

receive video media;

determine a motion vector with integer accuracy for each of multiple partition modes, each of the multiple partition modes representing a different way in which to partition a block of pixels of the video media;

determine Sum of Absolute Difference (SAD) information for each of the multiple partition modes based on each partition mode's motion vector with integer accuracy;

determine a most-accurate partition mode of the multiple partition modes based on the SAD information of the multiple partition modes;

interpolate, with a bi-linear filter, a subset of potential half-pixel points surrounding an integer pixel point of the most-accurate partition mode's motion vector with integer accuracy;

determine, based on the subset of potential half-pixel points, a most-accurate half-pixel point of the most-accurate partition mode's motion vector;

re-interpolate the most-accurate half-pixel point with a six-tap filter to increase an accuracy of the most-accurate half-pixel point;

interpolate, with a six-tap filter, a subset of potential quarter-pixel points surrounding the re-interpolated most-accurate half-pixel point of the most-accurate partition mode's motion vector;

determine a motion vector with quarter-pixel accuracy for the most-accurate partition mode using the subset of potential quarter-pixel points surrounding the re-interpolated most-accurate half-pixel point of the most-accurate partition mode's motion vector; and

encode the block of pixels of video media using the motion vector with quarter-pixel accuracy for the most-accurate partition mode.

10. The system of claim 9 , wherein the encoder is further configured to determine a most-accurate partition mode of the multiple partition modes by determining which of the multiple partition modes has a minimum Sum of Absolute Differences (SAD).

11. The system of claim 9 , wherein the encoder is further configured to re-interpolate only the most-accurate half-pixel point with the six-tap filter.

12. The system of claim 9 , wherein the subset of potential half-pixel points includes four or fewer potential half-pixel points and the subset of potential quarter-pixel points includes four or fewer potential quarter-pixel points.

13. The system of claim 9 , wherein the encoder is configured to determine a motion vector with quarter-pixel accuracy for only the most-accurate partition mode.

14. The system of claim 9 , wherein the system is a System-on-Chip (SoC).

15. The system of claim 9 , wherein the subset of potential quarter-pixel points is approximately symmetrical with respect to the re-interpolated most-accurate half-pixel point.

16. A method comprising:

receiving an integer motion vector for a portion of a future frame of video media, the integer motion vector relating the portion of the future frame of video media to a portion of a prior frame of the video media;

interpolating, with a bi-linear filter, a subset of potential half-pixel points for the integer motion vector;

determining a most-accurate half-pixel point for the integer motion vector using the subset of potential half-pixel points;

interpolating, with a six-tap filter, a non-symmetrical subset of potential quarter-pixel points surrounding the most-accurate half-pixel point, the non-symmetrical subset of potential quarter-pixel points including potential quarter-pixel points that are located non-symmetrically around the most-accurate half-pixel point;

determining, based on the most-accurate half-pixel point, a most-accurate quarter-pixel point using the non-symmetrical subset of potential quarter-pixel points to provide a motion vector having quarter-pixel accuracy; and

encoding the portion of the future frame of video media using the motion vector having quarter-pixel accuracy.

17. The method of claim 16 , wherein determining the most-accurate half-pixel point for the integer motion vector further comprises re-interpolating the most-accurate half-pixel using the six-tap filter.

18. The method of claim 16 , wherein determining the most-accurate half-pixel point uses four half-pixel points of eight potential half-pixel points.

19. The method of claim 16 , wherein determining the most-accurate quarter-pixel point uses four quarter-pixel points of eight potential quarter-pixel points.

20. The method of claim 16 , wherein encoding the portion of the future frame of video media is compliant with an H.264 video compression standard.

Assignments (4)
SECURITY INTEREST Recorded Sep 27, 2017
From: SYNAPTICS INCORPORATED
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 044037/0896 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2017
From: MARVELL INTERNATIONAL LTD.
To: SYNAPTICS INCORPORATED; SYNAPTICS LLC
Reel/Frame 043853/0827 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2010
From: MARVELL TECHNOLOGY (SHANGHAI) LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 025208/0704 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2009
From: WANG, YI
To: MARVELL TECHNOLOGY (SHANGHAI) LTD.
Reel/Frame 023118/0773 →