# US 2021/0243470 A1 · Video decoder and methods

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

- Number: US 2021/0243470 A1
- Document ID: US20210243470A1
- Status: Published application
- Kind: A1
- Application number: 17/237,924
- Filed: 2021-04-22
- Published: 2021-08-05
- Earliest claimed: 2018-10-24
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Timofey Mikhailovich SOLOVYEV; Roman Igorevich CHERNYAK; Alexander Alexandrovich KARABUTOV; Jianle CHEN; Sergey Yurievich IKONIN; Elena Alexandrovna ALSHINA
- Web page: https://patentgrep.com/patent/US20210243470A1

## CPC

- H04N 19/52: by predictive encoding
- H04N 19/573: Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
- 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/577: Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

The present disclosure relates to video encoding and decoding, and in particular to determining motion information for a current block using a history-based motion vector predictor, HMVP, list. The HMVP list is constructed, with said list being an ordered list of N HMVP candidates Hk, k=0, . . . , N−1, which are associated with motion information of N preceding blocks of the frame and precede the current block. Each HMVP candidate has motion information including elements of one or more motion vectors, MVs, one or more reference picture indices corresponding to the MVs, and one or more bi-prediction weight indices. One or more HMVP candidates from the HMVP list are added into a motion information candidate list for the current block; and the motion information is derived based on the motion information candidate list.

## Claims

### Claim 1

A method for determining motion information for a current block of a frame based on a history-based motion vector predictor (HMVP) list, the method comprising:
constructing the HMVP list, which is an ordered list of N history-based candidates −Hk, k=0, . . . , N−1, associated with motion information of N preceding blocks of the frame preceding the current block, wherein N is greater than or equal to 1, wherein each history-based candidate comprises motion information including at least one of elements:
i) one or more motion vectors (MVs),
ii) one or more reference picture indices corresponding to the MVs, or
iii) one or more bi-prediction weight indices;
adding one or more history-based candidates from the HMVP list into a motion information candidate list for the current block; and
deriving motion information for the current block based on the motion information candidate list.

### Claim 2 (depends on 1)

The method according to claim 1, wherein a history-based candidate includes further one or more indices, different from the one or more bi-prediction weight indices.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the constructing of the HMVP list further comprises:
comparing at least one of the elements of each history-based candidate of the HMVP list with a corresponding element of a preceding block; and
adding the motion information of the preceding block to the HMVP list, if as a result of the comparing at least one of the elements of each history-based candidate of the HMVP list differs from the corresponding element of the preceding block.

### Claim 4 (depends on 1)

The method according to claim 1, further comprising:
comparing at least one of the elements of each history-based candidate of the HMVP list with a corresponding element of the motion information for the current block; and
adding the motion information of the current block to the HMVP list, if a result of the comparing at least one of the elements of each HMVP candidate of the HMVP list differs from the corresponding element of the motion information of the current block.

### Claim 5 (depends on 3)

The method according to claim 3, wherein the comparing comprises:
comparing the corresponding motion vectors, and
comparing the corresponding reference picture indices.

### Claim 6 (depends on 3)

The method according to claim 3, wherein the comparing comprises:
comparing the one or more motion vectors of each history-based candidate of the HMVP list with corresponding motion vectors of the preceding block,
comparing the one or more reference picture indices of each history-based candidate of the HMVP list with corresponding reference picture indices of the preceding block, and
comparing the one or more bi-prediction weight indices of each history-based candidate of the HMVP list with bi-prediction weight indices of the preceding block.

### Claim 7 (depends on 1)

The method according to claim 1, wherein the history-based candidates of the HMVP list are ordered in an order in which the history-based candidates of the preceding blocks are obtained from a bit stream.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the HMVP list has a length of N, and N is 6 or 5.

### Claim 9 (depends on 1)

The method according to claim 1, wherein the motion information candidate list includes:
a first motion information from motion information of a first block, wherein the first block has a preset spatial or temporal position relationship with the current block.

### Claim 10 (depends on 1)

The method according to claim 1, wherein the deriving the motion information for the current block based on the motion information candidate list comprises:
deriving the motion information by referring to a merge index from a bit stream as the current block is coded in a merge mode, or to a motion vector predictor index from the bit stream as the current block is coded in an advanced motion vector prediction (AMVP) mode.

### Claim 11 (depends on 1)

The method according to claim 1, further including:
obtaining a prediction value of the current block by using a bi-prediction weight index included in the motion information derived based on the motion information candidate list.

### Claim 12

A method for constructing and updating a history-based motion vector predictor (HMVP) list, the method comprising:
constructing the HMVP list, which is an ordered list of N history-based candidates Hk, k=0, . . . , N−1, associated with motion information of N preceding blocks of a frame preceding the current block, wherein N is greater than or equal to 1, wherein each history-based candidate comprises motion information including at least one of elements:
i) one or more motion vectors, MVs,
ii) one or more reference picture indices corresponding to the MVs, or
iii) one or more bi-prediction weight indices;
comparing at least one of the elements of each history-based candidate of the HMVP list with a corresponding element of the current block; and
adding the motion information of the current block to the HMVP list, if as a result of the comparing at least one of the elements of each of the history-based candidate of the HMVP list differs from the corresponding element of the current block.

### Claim 13 (depends on 12)

The method according to claim 12, wherein a history-based candidate includes further one or more indices, different from the one or more bi-prediction weight indices.

### Claim 14 (depends on 12)

The method according to claim 12, wherein the comparing comprises:
comparing the one or more motion vectors of each history-based candidate of the HMVP list with corresponding motion vectors of the preceding block, and
comparing the one or more reference picture indices of each history-based candidate of the HMVP list with corresponding reference picture indices of the preceding block.

### Claim 15 (depends on 12)

The method according to claim 12, wherein the comparing comprises:
comparing the one or more motion vectors of each history-based candidate of the HMVP list with corresponding motion vectors of the preceding block,
comparing the one or more reference picture indices of each history-based candidate of the HMVP list with corresponding reference picture indices of the preceding block, and
comparing the one or more bi-prediction weight indices of each history-based candidate of the HMVP list with bi-prediction weight indices of the preceding block.

### Claim 16 (depends on 12)

The method according to claim 12, wherein the history-based candidates of the HMVP list are ordered in an order in which the history-based candidates—of the N preceding blocks are obtained from a bit stream.

### Claim 17 (depends on 12)

The method according to claim 12, wherein the HMVP list has a length of N, and N is 6 or 5.

### Claim 18

An apparatus for determining motion information for a current block, comprising:
a memory and a processor coupled to the memory; and
the processor is configured to execute operations comprising: constructing the HMVP list, which is an ordered list of N history-based candidates −Hk, k=0, . . . , N−1, associated with motion information of N preceding blocks of a frame preceding the current block, wherein N is greater than or equal to 1, wherein each history-based candidate comprises motion information including at least one of elements:
i) one or more motion vectors, MVs,
ii) one or more reference picture indices corresponding to the MVs, and/or
iii) one or more bi-prediction weight indices;
adding one or more history-based candidates from the HMVP list into a motion information candidate list for the current block; and
deriving the motion information for the current block based on the motion information candidate list.

### Claim 19

An apparatus for determining motion information for a current block of a frame based on a history-based motion vector predictor (HMVP) list, comprising:
a HMVP list constructing unit configured to construct the HMVP list, which is an ordered list of N history-based candidates—Hk, k=0, . . . , N−1, associated with motion information of N preceding blocks of the frame preceding the current block, wherein N is greater than or equal to 1, wherein each history-based candidate comprises motion information including at least one of elements:
i) one or more motion vectors, MVs,
ii) one or more reference picture indices corresponding to the MVs, or
iii) one or more bi-prediction weight indices;
a HMVP adding unit configured to add one or more history-based candidates from the HMVP list into a motion information candidate list for the current block; and
a motion information deriving unit configured to derive the motion information for the current block based on the motion information candidate list.

### Claim 20

An apparatus for constructing and updating a history-based motion vector predictor (HMVP) list, comprising:
a HMVP list constructing unit configured to construct the HMVP list, which is an ordered list of N history-based candidates Hk, k=0, . . . -, N−1, associated with motion information of N preceding blocks of a frame preceding the current block, wherein N is greater than or equal to 1, wherein each history-based candidate comprises motion information including at least one of elements:
i) one or more motion vectors, MVs,
ii) one or more reference picture indices corresponding to the MVs, or
iii) one or more bi-prediction weight indices;
a motion information comparing unit configured to compare at least one of the elements of each history-based candidate of the HMVP list with a corresponding element of the current block; and
a motion information adding unit configured to add the motion information of the current block to the HMVP list, if as a result of the comparing at least one of the elements of each of the history-based candidate of the HMVP list differs from the corresponding element of the current block.

### Claim 21

A non-transitory computer-readable storage medium storing video data comprising: motion information for a current block of a frame, based on a history-based motion vector predictor (HMVP) list, generated through:
constructing the HMVP list, which is an ordered list of N history-based candidates—Hk, k=0, . . . , N−1, associated with motion information of N preceding blocks of the frame preceding the current block, wherein N is greater than or equal to 1, wherein each history-based candidate comprises motion information including at least one of elements:
i) one or more motion vectors, MVs,
ii) one or more reference picture indices corresponding to the MVs, and/or
iii) one or more bi-prediction weight indices;
adding one or more history-based candidates from the HMVP list into a motion information candidate list for the current block; and
deriving the motion information for the current block based on the motion information candidate list.

### Claim 22 (depends on 1)

A non-transitory computer-readable storage medium storing encoded video data, wherein the encoded video data is generated based on a motion information obtained by the method of claim 1.
