# US 2020/0404256 A1 · Inter prediction method and apparatus

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

- Number: US 2020/0404256 A1
- Document ID: US20200404256A1
- Status: Published application
- Kind: A1
- Application number: 17/011,163
- Filed: 2020-09-03
- Published: 2020-12-24
- Earliest claimed: 2018-03-29
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Na Zhang; Jicheng An; Quanhe Yu; Jianhua Zheng
- Web page: https://patentgrep.com/patent/US20200404256A1

## CPC

- 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/577: Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
- 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/30: using hierarchical techniques, e.g. scalability (H04N19/63 takes precedence)
- H04N 19/52: by predictive encoding
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

An inter prediction method is provided, including: obtaining a first reference frame index and a first motion vector of a to-be-processed block (101); deriving a second reference frame index from the first reference frame index, where the second reference frame index is different from the first reference frame index (102); scaling the first motion vector to obtain a second motion vector (103); obtaining a first reference block of the to-be-processed block according to the first reference frame index and the first motion vector (104); obtaining a second reference block of the to-be-processed block according to the second reference frame index and the second motion vector (105); and weighting the first reference block and the second reference block to obtain a combined prediction block (106). Each reference list for inter prediction is allowed to include two groups of motion information, which helps improve an inter prediction effect.

## Claims

### Claim 1

An inter prediction method which is performed by a coding device, comprising:
obtaining a first reference frame index and a first motion vector of a to-be-processed block;
deriving a second reference frame index from the first reference frame index, wherein the second reference frame index is different from the first reference frame index;
scaling the first motion vector to obtain a second motion vector;
obtaining a first reference block of the to-be-processed block according to the first reference frame index and the first motion vector;
obtaining a second reference block of the to-be-processed block according to the second reference frame index and the second motion vector; and
weighting the first reference block and the second reference block to obtain a combined prediction block.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the scaling the first motion vector to obtain the second motion vector comprises:
multiplying a ratio of a second distance to a first distance by the first motion vector, to obtain the second motion vector, wherein the first distance is a temporal distance between a picture frame in which the to-be-processed block is located and a picture frame indicated by the first reference frame index, and the second distance is a temporal distance between the picture frame in which the to-be-processed block is located and a picture frame indicated by the second reference frame index.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the deriving the second reference frame index from the first reference frame index comprises:
when the first reference frame index is 0, the second reference frame index is derived as 1; or
when the first reference frame index is not 0, the second reference frame index is derived as 0.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the deriving the second reference frame index from the first reference frame index comprises:
determining that a picture frame indicated by the second reference frame index is a reference frame with a smallest quantization parameter in a reference frame set of the to-be-processed block except the picture frame indicated by the first reference frame index.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the deriving the second reference frame index from the first reference frame index comprises:
determining that the picture frame indicated by the second reference frame index is a reference frame with a shortest temporal distance from the picture frame in which the to-be-processed block is located in a reference frame set of the to-be-processed block except the picture frame indicated by the first reference frame index.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the method further comprises:
encoding first identification information, wherein the first identification information is used to determine the first motion vector and the first reference frame index.

### Claim 7 (depends on 1)

The method according to claim 1, wherein before the scaling the first motion vector to obtain the second motion vector, the method further comprises:
determining that the to-be-processed block meets a second preset criterion, wherein the second preset criterion comprises any one or a combination of several of following criteria: a size of the to-be-processed block or a temporal or spatial neighboring block of the to-be-processed block meets a preset threshold, a block partition mode of the to-be-processed block or the temporal or spatial neighboring block of the to-be-processed block meets a preset block partition mode, or a prediction mode of the to-be-processed block or the temporal or spatial neighboring block of the to-be-processed block meets a preset prediction mode, and
wherein after the obtaining the combined prediction block, the method further comprises:
using the combined prediction block as the prediction block of the to-be-processed block.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the coding device is a decoder, and the obtaining the first reference frame index and the first motion vector of the to-be-processed block comprises:
parsing a bitstream to obtain a fourth identification information;
obtaining a predicted motion vector of the to-be-processed block from a candidate predicted motion vector set of the to-be-processed block according to the fourth identification information,
wherein each predicted motion vector in the candidate predicted motion vector set corresponds to one reference frame index,
wherein the predicted motion vector is the first motion vector, and
wherein a reference frame index corresponding to the predicted motion vector is the first reference frame index.

### Claim 9 (depends on 1)

The method according to claim 1, wherein the coding device is a decoder, and the obtaining the first reference frame index and the first motion vector of the to-be-processed block comprises:
parsing a bitstream to obtain a fifth identification information, the first reference frame index, and a vector difference;
obtaining a predicted motion vector of the to-be-processed block from a candidate predicted motion vector set of the to-be-processed block according to the fifth identification information; and
adding the predicted motion vector and the vector difference to obtain the first motion vector.

### Claim 10 (depends on 8)

The method according to claim 8, wherein the coding device is a decoder, and the combined prediction block is used as the prediction block of the to-be-processed block when sixth identification information is a third value, or the first reference block is used as the prediction block of the to-be-processed block when the sixth identification information is a fourth value, wherein the third value is different from the fourth value, and
wherein before the scaling the first motion vector to obtain the second motion vector, the method further comprises:
parsing the bitstream to obtain the sixth identification information, wherein the sixth identification information is the third value.

### Claim 11

A terminal apparatus, comprise:
a memory, configured to store instructions; and
a processor coupled to the memory and upon execution of the instructions, configured to:
obtain a first reference frame index and a first motion vector of a to-be-processed block;
derive a second reference frame index from the first reference frame index, wherein the second reference frame index is different from the first reference frame index;
scale the first motion vector to obtain a second motion vector; wherein
obtain a first reference block of the to-be-processed block according to the first reference frame index and the first motion vector; and
obtain a second reference block of the to-be-processed block according to the second reference frame index and the second motion vector; and
weight the first reference block and the second reference block to obtain a combined prediction block.

### Claim 12 (depends on 11)

The terminal apparatus according to claim 11, wherein the processor is further configured to:
multiply a ratio of a second distance to a first distance by the first motion vector, to obtain the second motion vector, wherein the first distance is a temporal distance between a picture frame in which the to-be-processed block is located and a picture frame indicated by the first reference frame index, and the second distance is a temporal distance between the picture frame in which the to-be-processed block is located and a picture frame indicated by the second reference frame index.

### Claim 13 (depends on 11)

The terminal apparatus according to claim 11, wherein
when the first reference frame index is 0, the second reference frame index is derived as 1; or
when the first reference frame index is not 0, the second reference frame index is derived as 0.

### Claim 14 (depends on 11)

The terminal apparatus according to claim 11, wherein the processor is further configured to:
determine that the picture frame indicated by the second reference frame index is a reference frame with a smallest quantization parameter in a reference frame set of the to-be-processed block except the picture frame indicated by the first reference frame index.

### Claim 15 (depends on 11)

The terminal apparatus according to claim 11, wherein the processor is further configured to:
determine that the picture frame indicated by the second reference frame index is a reference frame with a shortest temporal distance from the picture frame in which the to-be-processed block is located in a reference frame set of the to-be-processed block except the picture frame indicated by the first reference frame index.

### Claim 16 (depends on 11)

The terminal apparatus according to claim 11, wherein the processor is further configured to:
encode first identification information, wherein the first identification information is used to determine the first motion vector and the first reference frame index.

### Claim 17 (depends on 11)

The terminal apparatus according to claim 11, wherein the processor is further configured to:
determine that the to-be-processed block meets a second preset criterion, wherein the second preset criterion comprises any one or a combination of several of following criteria: a size of the to-be-processed block or a temporal or spatial neighboring block of the to-be-processed block meets a preset threshold, a block partition mode of the to-be-processed block or the temporal or spatial neighboring block of the to-be-processed block meets a preset block partition mode, or a prediction mode of the to-be-processed block or the temporal or spatial neighboring block of the to-be-processed block meets a preset prediction mode; and
use the combined prediction block as the prediction block of the to-be-processed block.

### Claim 18 (depends on 11)

The terminal apparatus according to claim 11, wherein the processor is further configured to:
parse a bitstream to obtain fourth identification information;
obtain a predicted motion vector of the to-be-processed block from a candidate predicted motion vector set of the to-be-processed block according to the fourth identification information, wherein each predicted motion vector in the candidate predicted motion vector set corresponds to one reference frame index;
use the predicted motion vector as the first motion vector; and
use a reference frame index corresponding to the predicted motion vector as the first reference frame index.

### Claim 19 (depends on 11)

The terminal apparatus according to claim 11, wherein the processor is further configured to:
parse a bitstream to obtain fifth identification information, the first reference frame index, and a vector difference; and
obtain a predicted motion vector of the to-be-processed block from a candidate predicted motion vector set of the to-be-processed block according to the fifth identification information; and
add the predicted motion vector and the vector difference to obtain the first motion vector.

### Claim 20 (depends on 19)

The terminal apparatus according to claim 19, wherein the processor is further configured to:
parse the bitstream to obtain the sixth identification information, wherein the sixth identification information is a third value.
