IP Library › Granted Patent US 11,070,838
Granted Patent B2
US 11,070,838 · App. 16/642,566 · Granted Jul 20, 2021

Motion compensation at a finer precision than motion vector differential

Inventors: Antoine Robert (Cesson-Sevigne, FR); Fabrice Leleannec (Cesson-Sevigne, FR); Simon Danten (Rouvroy-en-santerre, FR)
Assignee: InterDigital VC Holdings, Inc.
H04N19/52H04N19/176H04N19/523
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 11,070,838
App. No.
16/642,566
Granted
Jul 20, 2021
Kind
B2
Abstract

Extra precision can be added to motion vectors, such as those obtained using advanced motion vector prediction or frame rate upconversion, to produce improved motion compensation. The increased precision from neighboring blocks are used to provide increased precision to a motion vector for a current block. In various embodiments, the derivation of the increased precision can be found through various methods. In other embodiments, refined motion vectors can be saved for use in subsequent predictions, and a rate distorion optimized selection can be performed for determining whether or not to use the refinement.

Claims (46)

1. A method, comprising:

obtaining an additional precision value for a motion vector, having an initial precision, for a block of video data from at least one neighboring block previously encoded;

refining the initial precision of the motion vector for the block of video data by assigning the additional precision value to the initial precision of the motion vector for the block of video data;

refining a plurality of motion vectors for a first row and/or column of sub-blocks of the block of video data using the refined motion vector for the block of video data and template matching;

refining a plurality of motion vectors for a second row and/or column of sub-blocks of the block of video data using an average of spatial neighboring motion vectors and the refined motion vector for the block of video data;

performing motion compensation for the block of video data by using the refined motion vectors of the sub-blocks; and

encoding said motion compensated block of video data.

2. The method of claim 1 , wherein the additional precision value for the motion vector, having the initial precision, for the block of video data is a lower fractional part of one motion vector, having a finer precision than the initial precision, from one neighboring block previously encoded that is a motion vector predictor for the block.

3. The method of claim 1 , wherein the additional precision value for the motion vector, having the initial precision, for the block of video data is a combination of lower fractional parts from at least two motion vectors from at least two neighboring blocks previously encoded.

4. The method of claim 1 , wherein the additional precision value is derived from a first N encountered motion vectors corresponding to neighboring blocks that have greater precision than the motion vector, having the initial precision, for the block of video data.

5. The method of claim 1 , wherein the additional precision value for the motion vector, having the initial precision, for the block of video data is derived from a first N motion vectors corresponding to neighboring blocks that are closest in value to the motion vector, having the initial precision, for the block of video data.

6. A method, comprising:

obtaining an additional precision value for a motion vector, having an initial precision, for a block of video data from at least one neighboring block previously decoded;

refining the initial precision of the motion vector for the block of video data by assigning the additional precision value to the initial precision of the motion vector for the block of video data;

refining a plurality of motion vectors for a first row and/or column of sub-blocks of the block of video data using the refined motion vector for the block of video data and template matching;

refining a plurality of motion vectors for a second row and/or column of sub-blocks of the block of video data using an average of spatial neighboring motion vectors and the refined motion vector for the block of video data;

performing motion compensation for the block of video data by using the refined motion vectors of the sub-blocks; and

decoding said motion compensated block of video data.

7. The method of claim 6 , wherein the additional precision value for the motion vector, having the initial precision, for the block of video data is a lower fractional part of one motion vector, having a finer precision than the initial precision, from one neighboring block previously decoded that is a motion vector predictor for the block.

8. The method of claim 6 , wherein the additional precision value for the motion vector, having the initial precision, for the block of video data is a combination of lower fractional parts from at least two motion vectors from at least two neighboring blocks previously decoded.

9. The method of claim 6 , wherein the additional precision value for the motion vector, having the initial precision, for the block of video data is derived from a first N encountered motion vectors corresponding to neighboring blocks that have greater precision than the motion vector, having the initial precision, for the block of video data.

10. The method of claim 6 , wherein the additional precision value for the motion vector, having the initial precision, for the block of video data is derived from a first N motion vectors corresponding to neighboring blocks that are closest in value to the motion vector, having the initial precision, for the block of video data.

11. An apparatus, comprising:

a memory, and a processor configured to:

obtain an additional precision value for a motion vector, having an initial precision, for a block of video data from at least one neighboring block previously encoded,

refine the initial precision of the motion vector for the block of video data by assigning the additional precision value to the initial precision of the motion vector for the block of video data,

refine a plurality of motion vectors for a first row and/or column of sub-blocks of the block of video data using the refined motion vector for the block of video data and template matching,

refine a plurality of motion vectors for a second row and/or column of sub-blocks of the block of video data using an average of spatial neighboring motion vectors and the refined motion vector for the block of video data,

perform motion compensation for the block of video data by using the refined motion vectors of the sub-blocks, and

encode said motion compensated block of video data.

12. The apparatus of claim 11 , wherein the additional precision value for the motion vector, having the initial precision, for the block of video data is a lower fractional part of one motion vector, having a finer precision than the initial precision, from one neighboring block previously encoded that is a motion vector predictor for the block.

13. The apparatus of claim 11 , wherein the additional precision value for the motion vector, having the initial precision, for the block of video data is a combination of lower fractional parts from at least two motion vectors from at least two neighboring blocks previously encoded.

14. The apparatus of claim 11 , wherein the additional precision value for the motion vector, having the initial precision, for the block of video data is derived from a first N encountered motion vectors corresponding to neighboring blocks that have greater precision than the motion vector, having the initial precision, for the block of video data.

15. The apparatus of claim 11 , wherein the additional precision value for the motion vector, having the initial precision, for the block of video data is derived from a first N motion vectors corresponding to neighboring blocks that are closest in value to the motion vector, having the initial precision, for the block of video data.

16. An apparatus, comprising:

a memory, and a processor configured to:

obtain an additional precision value for a motion vector, having an initial precision, for a block of video data from at least one neighboring block previously decoded,

refine the initial precision of the motion vector for the block of video data by assigning the additional precision value to the initial precision of the motion vector for the block of video data,

refine a plurality of motion vectors for a first row and/or column of sub-blocks of the block of video data using the refined motion vector for the block of video data and template matching,

refine a plurality of motion vectors for a second row and/or column of sub-blocks of the block of video data using an average of spatial neighboring motion vectors and the refined motion vector for the block of video data,

perform motion compensation for the block of video data by using the refined motion vectors of the sub-blocks, and

decode said motion compensated block of video data.

17. The apparatus of claim 16 , wherein the additional precision value for the motion vector, having the initial precision, for the block of video data is a lower fractional part of one motion vector, having a finer precision than the initial precision, from one neighboring block previously decoded that is a motion vector predictor for the block.

18. The apparatus of claim 16 , wherein the additional precision value for the motion vector, having the initial precision, for the block of video data is a combination of lower fractional parts from at least two motion vectors from at least two neighboring blocks previously decoded.

19. The apparatus of claim 16 , wherein the additional precision value for the motion vector, having the initial precision, for the block of video data is derived from a first N encountered motion vectors corresponding to neighboring blocks that have greater precision than the motion vector, having the initial precision, for the block of video data.

20. The apparatus of claim 16 , wherein the additional precision value for the motion vector, having the initial precision, for the block of video data is derived from a first N motion vectors corresponding to neighboring blocks that are closest in value to the motion vector, having the initial precision, for the block of video data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2020
From: ROBERT, ANTOINE; LELEANNEC, FABRICE; DANTEN, SIMON
To: INTERDIGITAL VC HOLDINGS, INC.
Reel/Frame 052206/0174 →
Priority Claims (1)
EP 17306131 · Sep 1, 2017 · regional
Continuity (1)
Related Publication 20200195956A1 · Jun 18, 2020
Cited By (1)
US 12,192,473