# US 2019/0320181 A1 · Generation of motion vector predictors from multiple neighboring blocks in video coding

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

- Number: US 2019/0320181 A1
- Document ID: US20190320181A1
- Status: Published application
- Kind: A1
- Application number: 16/385,932
- Filed: 2019-04-16
- Published: 2019-10-17
- Earliest claimed: 2018-04-17
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Yi-Wen Chen; Yung-Hsuan Chao; Wei-Jung Chien; Marta Karczewicz
- Web page: https://patentgrep.com/patent/US20190320181A1

## CPC

- H04N 19/137: Motion inside a coding unit, e.g. average field, frame or block difference
- H04N 19/52: by predictive 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/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: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Embodiments include techniques in video coding for deriving motion vectors or motion vector predictors for a current coding or prediction unit based on multiple spatial neighbors. For example, the motion vector or motion vector predictors may be derived as the weighted combination of motion vectors of multiple spatial neighbors. Alternatively, or additionally, motion vectors or motion vector predictors for an inter-prediction mode may be generated from respective MVs of two spatially neighboring blocks that are located asymmetrically to the current PU.

## Claims

### Claim 1

A method of encoding video data, comprising:
generating one of a motion vector or motion vector predictor for a current prediction unit from respective motion vectors of two spatially neighboring blocks located asymmetrically to the current prediction unit;
generating a candidate list for an inter-prediction mode that includes a candidate associated with the generated motion vector or motion vector predictor;
selecting the candidate associated with the generated motion vector or motion vector predictor for use with the inter-prediction mode;
inter-predicting the prediction unit based on the inter-prediction mode and the selected candidate; and
encoding the prediction unit into an encoded video bitstream based on the inter-prediction.

### Claim 2 (depends on 1)

The method of claim 1, wherein generating one of a motion vector or motion vector predictor comprises:
determining a weighted sum of the respective motion vectors of the two spatially neighboring blocks; and
generating the motion vector or motion vector predictor based on the determined weighted sum.

### Claim 3 (depends on 2)

The method of claim 2, wherein the determining the weighted sum comprises calculating a weighted sum of List0 motion vectors of the block and calculating a weighted sum of List1 motion vectors of the blocks.

### Claim 4 (depends on 2)

The method of claim 2, wherein determining the weighted sum is based on the shape of the prediction unit.

### Claim 5 (depends on 1)

The method of claim 1, wherein the two spatially neighboring blocks comprise a block to the left of a bottom left corner of the prediction unit and a block on top of the top-right corner of the current prediction unit left shifted by N pixels.

### Claim 6 (depends on 5)

The method of claim 5, wherein N is equal to one of the width or height of a smallest coding unit associated with motion information.

### Claim 7 (depends on 1)

The method of claim 1, wherein the inter-prediction mode is one of a merge mode or an advanced motion vector prediction mode.

### Claim 8

A method of decoding video data, comprising:
generating one of a motion vector or motion vector predictor for a current prediction unit from respective motion vectors of two spatially neighboring blocks located asymmetrically to the current prediction unit;
generating a candidate list for an inter-prediction mode that includes a candidate associated with the generated motion vector or motion vector predictor;
determining the candidate associated with the generated motion vector or motion vector predictor for use with the inter-prediction mode based on information from an encoded video bitstream;
inter-predicting the prediction unit based on the inter-prediction mode and the selected candidate; and
decoding the prediction unit using information from the encoded video bitstream and based on the inter-prediction of the prediction unit.

### Claim 9 (depends on 8)

The method of claim 8, wherein generating one of a motion vector or motion vector predictor comprises:
determining a weighted sum of the respective motion vectors of the two spatially neighboring blocks; and
generating the motion vector or motion vector predictor based on the determined weighted sum.

### Claim 10 (depends on 9)

The method of claim 9, wherein the determining the weighted sum comprises calculating a weighted sum of List0 motion vectors of the block and calculating a weighted sum of List1 motion vectors of the blocks.

### Claim 11 (depends on 9)

The method of claim 9, wherein determining the weighted sum is based on the shape of the prediction unit.

### Claim 12 (depends on 8)

The method of claim 8, wherein the two spatially neighboring blocks comprise a block to the left of a bottom left corner of the prediction unit and a block on top of the top-right corner of the current prediction unit left shifted by N pixels.

### Claim 13 (depends on 12)

The method of claim 12, wherein N is equal to one of the width or height of a smallest coding unit associated with motion information.

### Claim 14 (depends on 8)

The method of claim 8, wherein the inter-prediction mode is one of a merge mode or an advanced motion vector prediction mode.

### Claim 15

An apparatus for decoding video data, comprising:
a memory configured to store video data associated with an encoded video bitstream; and
a video processor configured to:
generate one of a motion vector or motion vector predictor for a current prediction unit from respective motion vectors of two spatially neighboring blocks located asymmetrically to the current prediction unit;
generate a candidate list for an inter-prediction mode that includes a candidate associated with the generated motion vector or motion vector predictor;
determine the candidate associated with the generated motion vector or motion vector predictor for use with the inter-prediction mode based on information from the encoded video bitstream;
inter-predict the prediction unit based on the inter-prediction mode and the selected candidate; and
decode the prediction unit using information from the encoded video bitstream and based on the inter-prediction of the prediction unit.

### Claim 16 (depends on 15)

The apparatus of claim 15, wherein to generate one of a motion vector or motion vector predictor, the processor is configured to:
determine a weighted sum of the respective motion vectors of the two spatially neighboring blocks; and
generate the motion vector or motion vector predictor based on the determined weighted sum.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein to determine the weighted sum, the processor is configured to determine the weighted sumb based on the shape of the prediction unit.

### Claim 18 (depends on 16)

The apparatus of claim 16, wherein the two spatially neighboring blocks comprise a block to the left of a bottom left corner of the prediction unit and a block on top of the top-right corner of the current prediction unit left shifted by N pixels.

### Claim 19 (depends on 18)

The apparatus of claim 18, wherein N is equal to one of the width or height of a smallest coding unit associated with motion information.

### Claim 20 (depends on 18)

The apparatus of claim 18, further comprising a display device configured to display a picture that includes the decoded prediction unit.
