# US 2020/0288163 A1 · Improved predictor candidates for motion compensation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0288163 A1
- Document ID: US20200288163A1
- Status: Published application
- Kind: A1
- Application number: 16/753,045
- Filed: 2018-10-04
- Published: 2020-09-10
- Earliest claimed: 2017-10-05
- Assignees: InterDigital VC Holdings, Inc.
- Applicants: InterDigital VC Holdings, Inc.
- Inventors: Tangi POIRIER; Antoine ROBERT; Fabrice LELEANNEC
- Web page: https://patentgrep.com/patent/US20200288163A1

## CPC

- H04N 19/52: by predictive encoding
- H04N 19/147: according to rate distortion criteria (rate-distortion as a criterion for motion estimation H04N19/567)
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/56: Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
- H04N 19/567: Motion estimation based on rate distortion criteria
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Different implementations are described for determining a set of predictor candidates for affine merge coding mode from neighboring blocks for motion compensation of a picture block based on a motion model for a video content encoder or decoder.

## Claims

### Claim 1

A method for video encoding, comprising:
determining, for a block being encoded in a picture, at least one spatial neighboring block;
determining, for the block being encoded, a set of predictor candidates for inter coding mode based on the at least one spatial neighboring block, wherein a predictor candidate comprises one or more control point motion vectors and one reference picture;
determining, for the block being encoded and for each predictor candidate, a motion field based on a motion model and on the one or more control point motion vectors of the predictor candidate, wherein the motion field identifies motion vectors used for prediction of sub-blocks of the block being encoded;
selecting a predictor candidate from the set of predictor candidates based on a rate distortion determination between predictions responsive to the motion field determined for each predictor candidate;
encoding the block based on the motion field for the selected predictor candidate.

### Claim 2

A method for video decoding, comprising:
determining, for the block being decoded, at least one spatial neighboring block;
determining, for the block being decoded, a set of predictor candidates for inter coding mode based on the at least one spatial neighboring block, wherein a predictor candidate comprises one or more control point motion vectors and one reference picture;
determining, for the block being decoded, one or more control point motion vectors from a particular predictor candidate;
determining, for the block being decoded, a motion field based on a motion model and on the one or more control point motion vectors for the block being decoded, wherein the motion field identifies motion vectors used for prediction of sub-blocks of the block being decoded; and
decoding the block based on the determined motion field.

### Claim at position 3

3-4. (canceled)

### Claim 5 (depends on 2)

The method of claim 2, wherein the at least one spatial neighboring block comprises a spatial neighboring block of the block being decoded among neighboring top-left corner blocks, neighboring top-right corner blocks, and neighboring bottom-left corner blocks.

### Claim 6 (depends on 2)

The method of claim 2, wherein motion information associated to the at least one of the spatial neighboring blocks comprises translational motion information.

### Claim 7 (depends on 2)

The method of claim 2, wherein motion information associated to all the at least one spatial neighboring blocks comprises affine motion information.

### Claim 8 (depends on 2)

The method of claim 2, wherein determining, for the block being decoded, said set of predictor candidates for inter coding mode, comprises:
determining a top left list of spatial neighboring blocks of the block being decoded among neighboring top-left corner blocks, a top right list of spatial neighboring blocks of the block being decoded among neighboring top-right corner blocks, a bottom left list of spatial neighboring blocks of the block being decoded among neighboring bottom-left corner blocks;
selecting at least one triplet of spatial neighboring blocks, wherein each spatial neighboring block of the triplet respectively belongs to said top left list, said top right list, and said bottom left list and wherein the reference picture being used for prediction of each spatial neighboring block of said triplet is the same;
determining, for the block being decoded, one or more control point motion vectors for top left corner, top right corner, and bottom left corner of the block based on motion information associated to each selected triplet of spatial neighboring blocks;
and wherein the predictor candidate comprises said determined one or more control point motion vectors and the reference picture.

### Claim 9

(canceled)

### Claim 10 (depends on 2)

The method of claim 2, wherein determining, for the block being decoded, said set of predictor candidates for inter coding mode, comprises:
determining a top left list of spatial neighboring blocks of the block being decoded among neighboring top-left corner blocks, a top right list of spatial neighboring blocks of the block being decoded among neighboring top-right corner blocks,
selecting at least one pair of spatial neighboring blocks, wherein each spatial neighboring block of the pair respectively belongs to said top left list and said top right list and wherein, the reference picture being used for prediction of each spatial neighboring block of said pair is the same;
determining, for the block being decoded, a control point motion vector for the top-left corner of the block based on motion information associated to spatial neighboring blocks of the top left list, a control point motion vector for the top-left corner of the block based on motion information associated to spatial neighboring blocks of the top left list;
and wherein the predictor candidate comprises said top-left and top-right control point motion vectors and the reference picture.

### Claim 11 (depends on 10)

The method of claim 10 wherein a bottom left list is used instead of the top right list, said bottom left list comprising spatial neighboring blocks of the block being decoded among neighboring bottom-left corner blocks and wherein bottom-left control point motion vector is determined.

### Claim 12 (depends on 2)

The method according to claim 2, wherein the motion model is an affine model and wherein the motion field for each position (x, y) inside the block being decoded is determined by:
{
v
x
=
(
v
2

y
-
v
0

y
)
h

x
-
(
v
2

x
-
v
0

x
)
h

y
+
v
0

x
v
y
=
(
v
2

x
-
v
0

x
)
h

x
+
(
v
2

y
-
v
0

y
)
h

y
+
v
0

y
wherein (v0x, v0y) and (v2x, v2y) are the control point motion vectors used to generate the motion field, (v0x, v0y) corresponds to the control point motion vector of the top-left corner of the block being decoded, (v2x, v2y) corresponds to the control point motion vector of the bottom-left corner of the block being decoded and h is the height of the block being decoded.

### Claim at position 12

13-14. (canceled)

### Claim 15 (depends on 2)

The method according to claim 2, wherein the inter coding mode is one of Merge mode or Advanced Motion Vector Prediction mode.

### Claim 16

(canceled)

### Claim 17 (depends on 2)

The method of claim 2, wherein an index for the particular predictor candidate from the set of predictor candidates is decoded.

### Claim 18

(canceled)

### Claim 19 (depends on 2)

A computer readable storage medium having stored thereon instructions for decoding video data according to claim 2.

### Claim 20

An apparatus for video encoding comprising at least a memory and and one or more processors configured for:
determining, for a block being encoded in a picture, at least one spatial neighboring block;
determining, for the block being encoded, a set of predictor candidates for inter coding mode based on the at least one spatial neighboring block, wherein a predictor candidate comprises one or more control point motion vectors and one reference picture;
determining, for the block being encoded and for each predictor candidate, a motion field based on a motion model and on the one or more control point motion vectors of the predictor candidate, wherein the motion field identifies motion vectors used for prediction of sub-blocks of the block being encoded;
selecting a predictor candidate from the set of predictor candidates based on a rate distortion determination between predictions responsive to the motion field determined for each predictor candidate;
encoding the block based on the motion field for the selected predictor candidate.

### Claim 21

An apparatus for video decoding comprising at least a memory and and one or more processors configured for:
determining, for the block being decoded, at least one spatial neighboring block;
determining, for the block being decoded, a set of predictor candidates for inter coding mode based on the at least one spatial neighboring block, wherein a predictor candidate comprises one or more control point motion vectors and one reference picture;
determining, for the block being decoded, one or more control point motion vectors from a particular predictor candidate;
determining, for the block being decoded, a motion field based on a motion model and on the one or more control point motion vectors for the block being decoded, wherein the motion field identifies motion vectors used for prediction of sub-blocks of the block being decoded; and
decoding the block based on the determined motion field.

### Claim 22 (depends on 21)

The apparatus of claim 21, wherein the at least one spatial neighboring block comprises a spatial neighboring block of the block being decoded among neighboring top-left corner blocks, neighboring top-right corner blocks, and neighboring bottom-left corner blocks.

### Claim 23 (depends on 21)

The apparatus of claim 21, wherein motion information associated to the at least one of the spatial neighboring blocks comprises translational motion information.

### Claim 24 (depends on 21)

The apparatus of claim 21, wherein motion information associated to all the at least one spatial neighboring blocks comprises affine motion information.

### Claim 25 (depends on 21)

The apparatus of claim 21, wherein determining, for the block being decoded, said set of predictor candidates for inter coding mode, comprises:
determining a top left list of spatial neighboring blocks of the block being decoded among neighboring top-left corner blocks, a top right list of spatial neighboring blocks of the block being decoded among neighboring top-right corner blocks, a bottom left list of spatial neighboring blocks of the block being decoded among neighboring bottom-left corner blocks;
selecting at least one triplet of spatial neighboring blocks, wherein each spatial neighboring block of the triplet respectively belongs to said top left list, said top right list, and said bottom left list and wherein the reference picture being used for prediction of each spatial neighboring block of said triplet is the same;
determining, for the block being decoded, one or more control point motion vectors for top left corner, top right corner, and bottom left corner of the block based on motion information associated to each selected triplet of spatial neighboring blocks;
and wherein the predictor candidate comprises said determined one or more control point motion vectors and the reference picture.

### Claim 26 (depends on 21)

The apparatus of claim 21, wherein determining, for the block being decoded, said set of predictor candidates for inter coding mode, comprises:
determining a top left list of spatial neighboring blocks of the block being decoded among neighboring top-left corner blocks, a top right list of spatial neighboring blocks of the block being decoded among neighboring top-right corner blocks,
selecting at least one pair of spatial neighboring blocks, wherein each spatial neighboring block of the pair respectively belongs to said top left list and said top right list and wherein, the reference picture being used for prediction of each spatial neighboring block of said pair is the same;
determining, for the block being decoded, a control point motion vector for the top-left corner of the block based on motion information associated to spatial neighboring blocks of the top left list, a control point motion vector for the top-left corner of the block based on motion information associated to spatial neighboring blocks of the top left list;
and wherein the predictor candidate comprises said top-left and top-right control point motion vectors and the reference picture.

### Claim 27 (depends on 26)

The apparatus of claim 26, wherein a bottom left list is used instead of the top right list, said bottom left list comprising spatial neighboring blocks of the block being decoded among neighboring bottom-left corner blocks and wherein bottom-left control point motion vector is determined.

### Claim 28 (depends on 21)

The apparatus according to claim 21, wherein the motion model is an affine model and wherein the motion field for each position (x, y) inside the block being decoded is determined by:
{
v
x
=
(
v
2

y
-
v
0

y
)
h

x
-
(
v
2

x
-
v
0

x
)
h

y
+
v
0

x
v
y
=
(
v
2

x
-
v
0

x
)
h

x
+
(
v
2

y
-
v
0

y
)
h

y
+
v
0

y
wherein (v0x, v0y) and (v2, v2y) are the control point motion vectors used to generate the motion field, (v0x, v0y) corresponds to the control point motion vector of the top-left corner of the block being decoded, (v2x, v2y) corresponds to the control point motion vector of the bottom-left corner of the block being decoded and h is the height of the block being decoded.

### Claim 29 (depends on 21)

The apparatus according to claim 21, wherein the inter coding mode is one of Merge mode or Advanced Motion Vector Prediction mode.
