# US 2019/0246134 A1 · Encoding method, decoding method, encoder, and decoder

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

- Number: US 2019/0246134 A1
- Document ID: US20190246134A1
- Status: Published application
- Kind: A1
- Application number: 16/269,029
- Filed: 2019-02-06
- Published: 2019-08-08
- Earliest claimed: 2018-02-06
- Assignees: Panasonic Intellectual Property Corporation of America
- Applicants: Panasonic Intellectual Property Corporation of America
- Inventors: Kiyofumi ABE; Takahiro NISHI; Tadamasa TOMA; Ryuichi KANOH
- Web page: https://patentgrep.com/patent/US20190246134A1

## CPC

- H04N 19/517: by encoding
- 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/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/52: by predictive encoding
- H04N 19/523: with sub-pixel accuracy
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

An encoder includes circuitry and memory. When performing, using the memory, a normal inter prediction mode in which motion vector precisions are selectively used, the circuitry: selects a motion vector precision for a current block from the motion vector precisions; generates, with reference to a motion vector of a neighboring block in the current block, an intermediate motion vector predictor list in which motion vector predictor candidates having a same motion vector precision regardless of the motion vector precision selected from motion vector precisions are registered; performs a rounding process on each motion vector predictor candidate so that the motion vector predictor candidates have the motion vector precision; selects a motion vector predictor from a final MV predictor list obtained thereby; and performs a motion compensation process on the current block, using a motion vector obtained by adding the motion vector predictor selected and a motion vector difference.

## Claims

### Claim 1

An encoder which encodes video, the encoder comprising:
circuitry; and
memory,
wherein when the circuitry performs, using the memory, a normal inter prediction mode in which a plurality of motion vector precisions are selectively used,
the circuitry:
selects a motion vector precision for a current block from the plurality of motion vector precisions;
generates, with reference to a motion vector of a neighboring block which has been processed in the current block, an intermediate motion vector (MV) predictor list in which one or more motion vector predictor candidates are registered, the one or more motion vector predictor candidates having a same motion vector precision regardless of the motion vector precision selected from the plurality of motion vector precisions;
performs a rounding process on each of the one or more motion vector predictor candidates registered in the intermediate MV predictor list so that the one or more motion vector predictor candidates have the motion vector precision selected;
selects a motion vector predictor from a final MV predictor list obtained by performing the rounding process; and
performs a motion compensation process on the current block, using a motion vector which is an added value obtained by adding the motion vector predictor selected and a motion vector difference.

### Claim 2 (depends on 1)

The encoder according to claim 1,
wherein the one or more motion vector predictor candidates registered in the intermediate motion vector predictor list have a finest motion vector precision among the plurality of motion vector precisions which are selectable.

### Claim 3 (depends on 1)

The encoder according to claim 1,
wherein the one or more motion vector predictor candidates registered in the intermediate motion vector predictor list have a same motion vector precision as a motion vector having a finest motion vector precision among motion vectors of neighboring blocks which have been processed and to be referred to.

### Claim 4 (depends on 1)

The encoder according to claim 1,
wherein the circuitry:
performs encoding control by performing a prediction process on the current block based on the plurality of motion vector precisions to calculate evaluation values, and selecting a motion vector precision which yields a best evaluation value among the evaluation values; and
in the encoding control:
generates the intermediate MV predictor list only when performing a prediction process on a motion vector precision selected to be evaluated first, and stores the intermediate MV predictor list in a storage area; and
skips generating the intermediate MV predictor list and obtains an intermediate MV predictor list stored in the storage area when performing a prediction process on a motion vector precision selected to be evaluated non-first, and performs the rounding process.

### Claim 5 (depends on 4)

The encoder according to claim 4,
wherein the plurality of motion vector precisions are evaluated in order starting with a finest motion vector precision among the motion vector precisions.

### Claim 6 (depends on 1)

The encoder according to claim 1,
wherein when generating the final MV predictor list,
the circuitry does not delete any of the one or more MV predictor candidates whose values have been rounded to the same value as a result of the rounding process on each of the one or more MV predictor candidates which have been registered in the intermediate MV predictor list.

### Claim 7

A decoder, comprising:
circuitry; and
memory,
wherein when the circuitry performs, using the memory, a normal inter prediction mode in which a plurality of motion vector precisions are selectively used,
the circuitry:
selects a motion vector precision for a current block from the plurality of motion vector precisions;
generates, with reference to a motion vector of a neighboring block which has been processed in the current block, an intermediate motion vector (MV) predictor list in which one or more motion vector predictor candidates are registered, the one or more motion vector predictor candidates having a same motion vector precision;
performs a rounding process on each of the one or more motion vector predictor candidates registered in the intermediate MV predictor list so that the one or more motion vector predictor candidates have the motion vector precision selected;
selects a motion vector predictor from a final MV predictor list obtained by performing the rounding process; and
performs a motion compensation process on the current block, using a motion vector which is an added value obtained by adding the motion vector predictor selected and a motion vector difference.

### Claim 8 (depends on 7)

The decoder according to claim 7,
wherein the one or more motion vector predictor candidates registered in the intermediate motion vector predictor list have a finest motion vector precision among the plurality of motion vector precisions which are selectable.

### Claim 9 (depends on 7)

The decoder according to claim 7,
wherein the one or more motion vector predictor candidates registered in the intermediate motion vector predictor list have a same motion vector precision as a motion vector having a finest motion vector precision among motion vectors of neighboring blocks which have been processed and to be referred to.

### Claim 10 (depends on 7)

The decoder according to claim 7,
wherein when generating the final MV predictor list,
the circuitry does not delete any of the one or more MV predictor candidates whose values have been rounded to the same value as a result of the rounding process on each of the one or more MV predictor candidates which have been registered in the intermediate MV predictor list.

### Claim 11

An encoding method for encoding video, the encoding method comprising:
when performing a normal inter prediction mode in which a plurality of motion vector precisions are selectively used,
selecting a motion vector precision for a current block from the plurality of motion vector precisions;
generating, with reference to a motion vector of a neighboring block which has been processed in the current block, an intermediate motion vector (MV) predictor list in which one or more motion vector predictor candidates are registered, the one or more motion vector predictor candidates having a same motion vector precision regardless of the motion vector precision selected from the plurality of motion vector precisions;
performing a rounding process on each of the one or more motion vector predictor candidates registered in the intermediate MV predictor list so that the one or more motion vector predictor candidates have the motion vector precision selected;
selecting a motion vector predictor from a final MV predictor list obtained by performing the rounding process; and
performing a motion compensation process on the current block, using a motion vector which is an added value obtained by adding the motion vector predictor selected and a motion vector difference.

### Claim 12

A decoding method for decoding video, the decoding method comprising:
when performing a normal inter prediction mode in which a plurality of motion vector precisions are selectively used,
selecting a motion vector precision for a current block from the plurality of motion vector precisions;
generating, with reference to a motion vector of a neighboring block which has been processed in the current block, an intermediate motion vector (MV) predictor list in which one or more motion vector predictor candidates are registered, the one or more motion vector predictor candidates having a same motion vector precision regardless of the motion vector precision selected from the plurality of motion vector precisions;
performing a rounding process on each of the one or more motion vector predictor candidates registered in the intermediate MV predictor list so that the one or more motion vector predictor candidates have the motion vector precision selected;
selecting a motion vector predictor from a final MV predictor list obtained by performing the rounding process; and
performing a motion compensation process on the current block, using a motion vector which is an added value obtained by adding the motion vector predictor selected and a motion vector difference.
