# US 2020/0288166 A1 · Methods and apparatuses for video encoding and video decoding

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

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

## CPC

- H04N 19/52: by predictive encoding
- H04N 19/56: Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
- H04N 19/105: Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
- H04N 19/139: Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
- H04N 19/147: according to rate distortion criteria (rate-distortion as a criterion for motion estimation H04N19/567)
- H04N 19/176: the region being a block, e.g. a macroblock
- 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

Implementations are described for determining, for a block being encoded in a picture, at least one predictor candidate, determining for the at least one predictor candidate, one or more corresponding control point generator motion vectors, based on motion information associated to the at least one predictor candidate, determining for the block being encoded, one or more corresponding control point motion vectors, based on the one or more corresponding control point generator motion vectors determined for the at least one predictor candidate, determining, based on the one or more corresponding control point motion vectors determined for the block, a corresponding motion field, and encoding the block based on the corresponding motion field.

## Claims

### Claim at position 1

1-15. (canceled)

### Claim 16

A method for video decoding, comprising:
determining, for a block being decoded in a picture, a predictor candidate;
determining for the predictor candidate, one or more corresponding control point generator motion vectors, based on motion information associated to the at least one predictor candidate;
determining for the block being decoded, one or more corresponding control point motion vectors, based on the one or more corresponding control point generator motion vectors determined for the predictor candidate;
determining, based on the one or more corresponding control point motion vectors determined for the block, a corresponding motion field, wherein the corresponding motion field identifies motion vectors used for prediction of sub-blocks of the block being decoded;
decoding the block based on the corresponding motion field.

### Claim 17 (depends on 16)

The method according to claim 16, wherein the predictor candidate is comprised in a set of predictor candidates and wherein determining, for the block being decoded, the predictor candidate comprises receiving an index corresponding to the predictor candidate in the set of predictor candidates.

### Claim 18 (depends on 16)

The method of claim 16, wherein motion information associated to the predictor candidate corresponds to a translational motion information.

### Claim 19 (depends on 16)

The method of claim 16, wherein determining for the predictor candidate, one or more corresponding control point generator motion vectors, based on motion information associated to the predictor candidate, comprises:
determining one or more corresponding control point associated to the predictor candidate, based on motion information associated to the predictor candidate,
determining the one or more corresponding control point generator motion vectors from the one or more corresponding control point associated to the predictor candidate.

### Claim 20 (depends on 19)

The method of claim 19, wherein the one or more corresponding control point generator motion vectors comprise a motion vector {right arrow over (v2)} of a top left corner of the predictor candidate, a motion vector {right arrow over (v3)} of an above right corner of the predictor candidate, and a motion vector {right arrow over (v4)} of a left bottom corner of the predictor candidate, and wherein the one or more corresponding control point motion vectors for the block comprise a motion vector {right arrow over (v0)} of a top left corner of the block and a motion vector {right arrow over (v1)} of an above right corner of the block, and wherein motion vector {right arrow over (v0)} and {right arrow over (v1)} are determined by:
v
0
→
=
v
2
→
+
(
v
4
→
-
v
2
→
)

(
Y
curr
-
Y
neighb
H
neighb
)
+
(
v
3
→
-
v
2
→
)

(
X
curr
-
X
neighb
W
neighb
)
v
1
→
=
v
0
→
+
(
v
3
→
-
v
2
→
)

(
W
curr
W
neighb
)
,
where Ycurr, Yneighb are respectively the vertical position of the block and the predictor candidate in the picture, Xcurr, Xneighb are respectively the horizontal position of the block and the predictor candidate in the picture, Wcurr is the horizontal size of the block and Wneighb, Hneighb are respectively the horizontal and vertical size of the predictor candidate.

### Claim 21 (depends on 19)

The method of claim 19, wherein the predictor candidate comprises one or more sub-blocks, each sub-block being associated to at least one motion vector, and wherein determining for the predictor candidate, one or more corresponding control point associated to the predictor candidate, based on motion information associated to the predictor candidate comprises:
determining one or more corresponding control point motion vectors associated to the predictor candidate, based on at least two motion vectors associated respectively to at least two sub-blocks of the predictor candidate,
verifying that the one or more corresponding control point motion vectors associated to the predictor candidate satisfies an affine motion model.

### Claim 22 (depends on 19)

The method of claim 19, wherein the predictor candidate comprises one or more sub-blocks, each sub-block being associated to at least one motion vector, and wherein determining for the predictor candidate, one or more corresponding control point associated to the predictor candidate, based on motion information associated to the predictor candidate comprises:
determining, for at least two distinct sets of at least three sub-blocks of the predictor candidate, one or more corresponding control point motion vectors for the predictor candidate associated respectively to the at least two sets, based on the motion vectors associated respectively to the at least three sub-blocks of each set,
calculating one or more corresponding control point motion vectors associated to the predictor candidate by averaging the determined one or more corresponding control point motion vectors associated to each set.

### Claim 23 (depends on 16)

The method of claim 16, wherein motion information associated to predictor candidate is derived from at least one of:
a bilateral template matching between two reference blocks in respectively two reference frames,
a reference block of a reference frame identified by motion information of a first spatial neighboring block of the predictor candidate,
an average of motion vectors of spatial and temporal neighboring blocks of the predictor candidate.

### Claim 24

An apparatus for video decoding, comprising a memory and at least one processor configured for:
determining, for a block being decoded in a picture, a predictor candidate;
determining for the predictor candidate, one or more corresponding control point generator motion vectors, based on motion information associated to the at least one predictor candidate;
determining for the block being decoded, one or more corresponding control point motion vectors, based on the one or more corresponding control point generator motion vectors determined for the predictor candidate;
determining, based on the one or more corresponding control point motion vectors determined for the block, a corresponding motion field, wherein the corresponding motion field identifies motion vectors used for prediction of sub-blocks of the block being decoded;
decoding the block based on the corresponding motion field.

### Claim 25

A method for video encoding, comprising:
determining, for a block being encoded in a picture, at least one predictor candidate;
determining for the at least one predictor candidate, one or more corresponding control point generator motion vectors, based on motion information associated to the at least one predictor candidate;
determining for the block being encoded, one or more corresponding control point motion vectors, based on the one or more corresponding control point generator motion vectors determined for the at least one predictor candidate;
determining, based on the one or more corresponding control point motion vectors determined for the block, a corresponding motion field, wherein the corresponding motion field identifies motion vectors used for prediction of sub-blocks of the block being encoded;
encoding the block based on the corresponding motion field.

### Claim 26 (depends on 25)

The encoding method of claim 25, wherein the at least one predictor candidate is comprised in a set of predictor candidates, the encoding method further comprising:
encoding an index for the at least one predictor candidate from the set of predictor candidates.

### Claim 27 (depends on 25)

The method of claim 25, wherein motion information associated to the predictor candidate corresponds to a translational motion information.

### Claim 28 (depends on 25)

The method of claim 25, wherein determining for the predictor candidate, one or more corresponding control point generator motion vectors, based on motion information associated to the predictor candidate, comprises:
determining one or more corresponding control point associated to the predictor candidate, based on motion information associated to the predictor candidate,
determining the one or more corresponding control point generator motion vectors from the one or more corresponding control point associated to the predictor candidate.

### Claim 29 (depends on 28)

The method of claim 28, wherein the one or more corresponding control point generator motion vectors comprise a motion vector {right arrow over (v2)} of a top left corner of the predictor candidate, a motion vector {right arrow over (v3)} of an above right corner of the predictor candidate, and a motion vector {right arrow over (v4)} of a left bottom corner of the predictor candidate, and wherein the one or more corresponding control point motion vectors for the block comprise a motion vector {right arrow over (v0)} of a top left corner of the block and a motion vector {right arrow over (v1)} of an above right corner of the block, and wherein motion vector {right arrow over (v0)} and {right arrow over (v1)} are determined by:
v
0
→
=
v
2
→
+
(
v
4
→
-
v
2
→
)

(
Y
curr
-
Y
neighb
H
neighb
)
+
(
v
3
→
-
v
2
→
)

(
X
curr
-
X
neighb
W
neighb
)
v
1
→
=
v
0
→
+
(
v
3
→
-
v
2
→
)

(
W
curr
W
neighb
)
,
where Ycurr, Yneighb are respectively the vertical position of the block and the predictor candidate in the picture, Xcurr, Xneighb are respectively the horizontal position of the block and the predictor candidate in the picture, Wcurr is the horizontal size of the block and Wneighb, Hneighb are respectively the horizontal and vertical size of the predictor candidate.

### Claim 30 (depends on 28)

The method of claim 28, wherein the predictor candidate comprises one or more sub-blocks, each sub-block being associated to at least one motion vector, and wherein determining for the predictor candidate, one or more corresponding control point associated to the predictor candidate, based on motion information associated to the predictor candidate comprises:
determining one or more corresponding control point motion vectors associated to the predictor candidate, based on at least two motion vectors associated respectively to at least two sub-blocks of the predictor candidate,
verifying that the one or more corresponding control point motion vectors associated to the predictor candidate satisfies an affine motion model.

### Claim 31 (depends on 28)

The method of claim 28, wherein the predictor candidate comprises one or more sub-blocks, each sub-block being associated to at least one motion vector, and wherein determining for the predictor candidate, one or more corresponding control point associated to the predictor candidate, based on motion information associated to the predictor candidate comprises:
determining, for at least two distinct sets of at least three sub-blocks of the predictor candidate, one or more corresponding control point motion vectors for the predictor candidate associated respectively to the at least two sets, based on the motion vectors associated respectively to the at least three sub-blocks of each set,
calculating one or more corresponding control point motion vectors associated to the predictor candidate by averaging the determined one or more corresponding control point motion vectors associated to each set.

### Claim 32 (depends on 25)

The method of claim 25, wherein motion information associated to predictor candidate is derived from at least one of:
a bilateral template matching between two reference blocks in respectively two reference frames,
a reference block of a reference frame identified by motion information of a first spatial neighboring block of the predictor candidate,
an average of motion vectors of spatial and temporal neighboring blocks of the predictor candidate.

### Claim 33

An apparatus for video encoding, comprising a memory and at least one processor configured for:
determining, for a block being encoded in a picture, at least one predictor candidate;
determining for the at least one predictor candidate, one or more corresponding control point generator motion vectors, based on motion information associated to the at least one predictor candidate;
determining for the block being encoded, one or more corresponding control point motion vectors, based on the one or more corresponding control point generator motion vectors determined for the at least one predictor candidate;
determining, based on the one or more corresponding control point motion vectors determined for the block, a corresponding motion field, wherein the corresponding motion field identifies motion vectors used for prediction of sub-blocks of the block being encoded;
encoding the block based on the corresponding motion field.

### Claim 34 (depends on 25)

A non-transitory computer readable medium containing data content generated according to the method of claim 25.

### Claim 35 (depends on 33)

A non-transitory computer readable medium containing data content generated according to the apparatus of claim 33.

### Claim 36 (depends on 16)

A computer readable storage medium having stored thereon instructions for decoding video data according to the method of claim 16.

### Claim 37 (depends on 25)

A computer readable storage medium having stored thereon instructions for encoding video data according to the method of claim 25.
