IP Library › Granted Patent US 11,785,250
Granted Patent B2
US 11,785,250 · App. 17/557,179 · Granted Oct 10, 2023

Multiple predictor candidates for motion compensation

Inventors: Antoine Robert (Cesson-Sevigne, FR); Fabrice Leleannec (Betton, FR); Tangi Poirier (Cesson-Sevigne, FR)
Assignee: InterDigital VC Holdings, Inc.
H04N19/521H04N19/105H04N19/139H04N19/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 11,785,250
App. No.
17/557,179
Granted
Oct 10, 2023
Kind
B2
Abstract

Different implementations are described, particularly implementations for selecting a predictor candidate from a set of multiple predictor candidates for motion compensation of a picture block based on a motion model. The motion model, may be, e.g., an affine model in a merge mode for a video content encoder or decoder. In an embodiment, a predictor candidate is selected from the set based on a motion model for each of the multiple predictor candidates, and may be based on a criterion such as, e.g., a rate distortion cost. The corresponding motion field is determined based on, e.g., one or more corresponding control point motion vectors for the block being encoded or decoded. The corresponding motion field of an embodiment identifies motion vectors used for prediction of sub-blocks of the block being encoded or decoded.

Claims (42)

1. A method for video decoding, comprising:

accessing, for a block being decoded in a picture, an index corresponding to a predictor candidate of a plurality of predictor candidates, wherein said predictor candidate is based on a plurality of neighboring blocks that have been decoded, and wherein said block is decoded in an affine merge mode, wherein a set of control point motion vectors for said predictor candidate is obtained from respective sets of control point motion vectors stored for said plurality of neighboring blocks;

obtaining, using said set of control point motion vectors stored for said predictor candidate, a set of control point motion vectors for said block being decoded, wherein motion vectors for motion-compensated prediction of all sub-blocks of a respective neighboring block, of said plurality of neighboring blocks, are obtained using a set of control point motion vectors for said respective neighboring block based on an affine motion model, wherein said set of control point motion vectors for said respective neighboring block is stored separately from said motion vectors for motion-compensated prediction of all sub-blocks of said respective neighboring block;

obtaining, based on said set of control point motion vectors for said block being decoded, a motion field based on said affine motion model, wherein said motion field identifies motion vectors used for motion-compensated prediction of all sub-blocks of said block being decoded;

storing said set of control point motion vectors for said block separately from said motion vectors of said motion field for said block, as motion information for said block; and

decoding said block based on said motion field.

2. The method of claim 1 , wherein said set of control point motion vectors for said predictor candidate is obtained from only control point motion vectors stored for spatial neighboring blocks.

3. The method of claim 1 , wherein said set of control point motion vectors for said predictor candidate is obtained from control point motion vectors stored for both spatial and temporal neighboring blocks.

4. The method of claim 1 , wherein said set of control point motion vectors for said predictor candidate is obtained as an average of respective sets of control point motion vectors stored for said plurality of neighboring blocks.

5. A non-transitory computer readable medium comprising instructions which, when the instructions are executed by a computer, cause the computer to perform the method of claim 1 .

6. A method for video encoding, comprising:

selecting, for a block being encoded in a picture, a predictor candidate from a plurality of predictor candidates, wherein said predictor candidate is based on a plurality of neighboring blocks that have been encoded, and wherein said block is encoded in an affine merge mode, and wherein a set of control point motion vectors for said predictor candidate is obtained from respective sets of control point motion vectors stored for said plurality of neighboring blocks;

obtaining, using said set of control point motion vectors stored for said predictor candidate, a set of control point motion vectors for said block being encoded, wherein motion vectors for motion-compensated prediction of all sub-blocks of a respective neighboring block, of said plurality of neighboring blocks, are obtained using a set of control point motion vectors for said respective neighboring block based on an affine motion model, wherein said set of control point motion vectors for said respective neighboring block is stored separately from said motion vectors for motion-compensated prediction of all sub-blocks of said respective neighboring block;

obtaining, based on said set of control point motion vectors for said block being encoded, a motion field based on said affine motion model, wherein said motion field identifies motion vectors used for motion-compensated prediction of all sub-blocks of said block being encoded;

storing said set of control point motion vectors for said block separately from said motion vectors of said motion field for said block, as motion information for said block;

encoding an index for said selected predictor candidate in said plurality of predictor candidates; and

encoding said block based on said motion field.

7. The method of claim 6 , wherein said set of control point motion vectors for said predictor candidate is obtained from only control point motion vectors stored for spatial neighboring blocks.

8. The method of claim 6 , wherein said set of control point motion vectors for said predictor candidate is obtained from control point motion vectors stored for both spatial and temporal neighboring blocks.

9. The method of claim 6 , wherein said set of control point motion vectors for said predictor candidate is obtained as an average of respective sets of control point motion vectors stored for said plurality of neighboring blocks.

10. A non-transitory computer readable medium comprising instructions which, when the instructions are executed by a computer, cause the computer to perform the method of claim 6 .

11. An apparatus for video decoding, comprising at least a memory and one or more processors, wherein said one or more processors are configured to:

access, for a block being decoded in a picture, an index corresponding to a predictor candidate of a plurality of predictor candidates, wherein said predictor candidate is based on a plurality of neighboring blocks that have been decoded, and wherein said block is decoded in an affine merge mode, wherein a set of control point motion vectors for said predictor candidate is obtained from respective sets of control point motion vectors stored for said plurality of neighboring blocks;

obtain, using said set of control point motion vectors stored for said predictor candidate, a set of control point motion vectors for said block being decoded, wherein motion vectors for motion-compensated prediction of all sub-blocks of a respective neighboring block, of said plurality of neighboring blocks, are obtained using a set of control point motion vectors for said respective neighboring block based on an affine motion model, wherein said set of control point motion vectors for said respective neighboring block is stored separately from said motion vectors for motion-compensated prediction of all sub-blocks of said respective neighboring block;

obtain, based on said set of control point motion vectors for said block being decoded, a motion field based on said affine motion model, wherein said motion field identifies motion vectors used for motion-compensated prediction of all sub-blocks of said block being decoded;

store said set of control point motion vectors for said block separately from said motion vectors of said motion field for said block, as motion information for said block; and

decode said block based on said motion field.

12. The apparatus of claim 11 , wherein said set of control point motion vectors for said predictor candidate is obtained from only control point motion vectors stored for spatial neighboring blocks.

13. The apparatus of claim 11 , wherein said set of control point motion vectors for said predictor candidate is obtained from control point motion vectors stored for both spatial and temporal neighboring blocks.

14. The apparatus of claim 11 , wherein said set of control point motion vectors for said predictor candidate is obtained as an average of respective sets of control point motion vectors stored for said plurality of neighboring blocks.

15. The apparatus of claim 14 , wherein said average is a weighted average.

16. An apparatus for video encoding, comprising at least a memory and one or more processors, wherein said one or more processors are configured to:

select, for a block being encoded in a picture, a predictor candidate from a plurality of predictor candidates, wherein said predictor candidate is based on a plurality of neighboring blocks that have been encoded, and wherein said block is encoded in an affine merge mode, and wherein a set of control point motion vectors for said predictor candidate is obtained from respective sets of control point motion vectors stored for said plurality of neighboring blocks;

obtain, using said set of control point motion vectors stored for said predictor candidate, a set of control point motion vectors for said block being encoded, wherein motion vectors for motion-compensated prediction of all sub-blocks of a respective neighboring block of said plurality of neighboring blocks, are obtained using a set of control point motion vectors for said respective neighboring block based on an affine motion model, wherein said set of control point motion vectors for said respective neighboring block is stored separately from said motion vectors for motion-compensated prediction of all sub-blocks of said respective neighboring block;

obtain, based on said set of control point motion vectors for said block being encoded, a motion field based on said affine motion model, wherein said motion field identifies motion vectors used for motion-compensated prediction of all sub-blocks of said block being encoded;

store said set of control point motion vectors for said block separately from said motion vectors of said motion field for said block, as motion information for said block;

encode an index for said selected predictor candidate in said plurality of predictor candidates; and

encode said block based on said motion field.

17. The apparatus of claim 16 , wherein said set of control point motion vectors for said predictor candidate is obtained from only control point motion vectors stored for spatial neighboring blocks.

18. The apparatus of claim 16 , wherein said set of control point motion vectors for said predictor candidate is obtained from control point motion vectors stored for both spatial and temporal neighboring blocks.

19. The apparatus of claim 16 , wherein said set of control point motion vectors for said predictor candidate is obtained as an average of respective sets of control point motion vectors stored for said plurality of neighboring blocks.

20. The apparatus of claim 16 , wherein said average is a weighted average.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2021
From: ROBERT, ANTOINE; LELEANNEC, FABRICE; POIRIER, TANGI
To: INTERDIGITAL VC HOLDINGS, INC.
Reel/Frame 058446/0200 →
Priority Claims (2)
EP 17305797 · Jun 26, 2017 · regional
EP 18305386 · Mar 30, 2018 · regional
Continuity (2)
Continuation 16622895
Related Publication 20220116654A1 · Apr 14, 2022