# US 2020/0288156 A1 · Adaptive subblock size for affine motion compensation

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

- Number: US 2020/0288156 A1
- Document ID: US20200288156A1
- Status: Published application
- Kind: A1
- Application number: 16/802,352
- Filed: 2020-02-26
- Published: 2020-09-10
- Earliest claimed: 2019-03-07
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Han Huang; Wei-Jung Chien; Marta Karczewicz
- Web page: https://patentgrep.com/patent/US20200288156A1

## CPC

- H04N 19/44: Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04N 19/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- H04N 19/137: Motion inside a coding unit, e.g. average field, frame or block difference
- 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/189: characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N 19/63: using sub-band based transform, e.g. wavelets
- H04N 19/647: {using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]}
- H04N 19/54: using feature points or meshes
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A video encoder and/or video decoder may determine the size of subblocks of a block of video data, where the block of video data is to be encoded or decoded using subblock affine motion compensation mode. The video encoder and/or video decoder may receive a block of video data to be coded using a subblock affine motion compensation mode, determine a size of one or more subblocks of the block based on one or more of an inter prediction direction or affine motion parameters of the block, partition the block into the one or more subblocks based on the determined size, and code the one or more subblocks using the subblock affine motion compensation mode.

## Claims

### Claim 1

An apparatus configured to decode video data, the apparatus comprising:
a memory configured to store a block of video data; and
one or more processors implemented in circuitry and in communication with the memory, the one or more processors configured to:
receive the block of video data to be decoded using a subblock affine motion compensation mode;
determine a size of one or more subblocks of the block based on one or more of an inter prediction direction or affine motion parameters of the block;
partition the block into the one or more subblocks based on the determined size; and
decode the one or more subblocks using the subblock affine motion compensation mode.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein to determine the size of the one or more subblocks of the block, the one or more processors are further configured to:
determine the size of the one or more subblocks of the block based on the inter prediction direction.

### Claim 3 (depends on 2)

The apparatus of claim 2, wherein to determine the size of the one or more subblocks of the block based on the inter prediction direction, the one or more processors are further configured to:
determine the size of the one or more subblocks of the block to be a default size (sbW, sbH) based on the inter prediction direction being bi-prediction, wherein sbW is a default width of the one or more subblocks and sbH is a default height of the one or more subblocks.

### Claim 4 (depends on 2)

The apparatus of claim 2, wherein to determine the size of the one or more subblocks of the block based on the inter prediction direction, the one or more processors are further configured to:
determine the size of the one or more subblocks of the block to be the size (sbW1, sbH1) based on the inter prediction direction being uni-prediction, wherein sbW1 is a width of the one or more subblocks and sbH1 is a height of the one or more subblocks, wherein (sbW1*sbH1) is less than (sbW*sbH), and wherein sbW is a default width of the one or more subblocks and sbH is a default height of the one or more subblocks.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein to determine the size of the one or more subblocks of the block, the one or more processors are further configured to:
determine the size of the one or more subblocks of the block based on the affine motion parameters.

### Claim 6 (depends on 5)

The apparatus of claim 5, wherein to determine the size of the one or more subblocks of the block based on the affine motion parameters, the one or more processors are further configured to:
determine a first size for the one or more subblocks based on the affine motion parameters satisfying a first criterion;
determine a second size for the one or more subblocks based on the affine motion parameters satisfying a second criterion; and
determine a third size for the one or more subblocks based on the affine motion parameters satisfying neither the first criterion nor the second criterion, wherein the first criterion and the second criterion are set such that reference samples during subblock affine motion compensation are located within a reference block having a predetermined size.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein to determine the size of the one or more subblocks of the block, the one or more processors are further configured to:
determine the size of the one or more subblocks of the block based on both the inter prediction direction and the affine motion parameters.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein to determine the size of the one or more subblocks of the block, the one or more processors are further configured to:
determine the size of the one or more subblocks of the block based on both the inter prediction direction and subblock motion vectors of the one or more subblocks.

### Claim 9 (depends on 1)

The apparatus of claim 1, wherein the size of the one or more subblocks is smaller than 4×4, and wherein the one or more processors are further configured to:
receive a respective motion vector for each 4×4 motion field subblock of the block; and
calculate a respective subblock motion vector for each of the one or more subblocks within the respective 4×4 motion field subblock based on the respective motion vector for the 4×4 motion field subblock and the affine motion parameters.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the size of the one or more subblocks is 2×2, and wherein the one or more processors are further configured to:
calculate four motion vectors for the one or more subblocks.

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein the size of the one or more subblocks is 2×4 or 4×2, AND wherein the one or more processors are further configured to:
calculate two motion vectors at for the one or more subblocks.

### Claim 12 (depends on 1)

The apparatus of claim 1, further comprising:
a display configured to display a picture that includes the decoded block.

### Claim 13

A method of decoding video data, the method comprising:
receiving a block of video data to be decoded using a subblock affine motion compensation mode;
determining a size of one or more subblocks of the block based on one or more of an inter prediction direction or affine motion parameters of the block;
partitioning the block into the one or more subblocks based on the determined size; and
decoding the one or more subblocks using the subblock affine motion compensation mode.

### Claim 14 (depends on 13)

The method of claim 13, wherein determining the size of the one or more subblocks of the block comprises:
determining the size of the one or more subblocks of the block based on the inter prediction direction.

### Claim 15 (depends on 14)

The method of claim 14, wherein determining the size of the one or more subblocks of the block based on the inter prediction direction comprises:
determining the size of the one or more subblocks of the block to be a default size (sbW, sbH) based on the inter prediction direction being bi-prediction, wherein sbW is a default width of the one or more subblocks and sbH is a default height of the one or more subblocks.

### Claim 16 (depends on 14)

The method of claim 14, wherein determining the size of the one or more subblocks of the block based on the inter prediction direction comprises:
determining the size of the one or more subblocks of the block to be (sbW1, sbH1) based on the inter prediction direction being uni-prediction, wherein sbW1 is a width of the one or more subblocks and sbH1 is a height of the one or more subblocks, wherein (sbW1*sbH1) is less than (sbW*sbH), and wherein sbW is a default width of the one or more subblocks and sbH is a default height of the one or more subblocks.

### Claim 17 (depends on 13)

The method of claim 13, wherein determining the size of the one or more subblocks of the block comprises:
determining the size of the one or more subblocks of the block based on the affine motion parameters.

### Claim 18 (depends on 17)

The method of claim 17, wherein determining the size of the one or more subblocks of the block based on the affine motion parameters comprises:
determining a first size for the one or more subblocks based on the affine motion parameters satisfying a first criterion;
determining a second size for the one or more subblocks based on the affine motion parameters satisfying a second criterion; and
determining a third size for the one or more subblocks based on the affine motion parameters satisfying neither the first criterion nor the second criterion, wherein the first criterion and the second criterion are set such that reference samples during subblock affine motion compensation are located within a reference block having a predetermined size.

### Claim 19 (depends on 13)

The method of claim 13, wherein determining the size of the one or more subblocks of the block comprises:
determining the size of the one or more subblocks of the block based on both the inter prediction direction and the affine motion parameters.

### Claim 20 (depends on 13)

The method of claim 13, wherein determining the size of the one or more subblocks of the block comprises:
determining the size of the one or more subblocks of the block based on both the inter prediction direction and subblock motion vectors of the one or more subblocks.

### Claim 21 (depends on 13)

The method of claim 13, wherein the size of the one or more subblocks is smaller than 4×4, the method further comprising:
receiving a respective motion vector for each 4×4 motion field subblock of the block; and
calculating a respective subblock motion vector for each of the one or more subblocks within the respective 4×4 motion field subblock based on the respective motion vector for the 4×4 motion field subblock and the affine motion parameters.

### Claim 22 (depends on 21)

The method of claim 21, wherein the size of the one or more subblocks is 2×2, the method further comprising:
calculating four motion for the one or more subblocks.

### Claim 23 (depends on 21)

The method of claim 21, wherein the size of the one or more subblocks is 2×4 or 4×2, the method further comprising:
calculating two motion vectors for the one or more subblocks.

### Claim 24 (depends on 13)

The method of claim 13, further comprising:
displaying a picture that includes the decoded block.

### Claim 25

A non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors of a device configured to decode video data to:
receive the block of video data to be decoded using a subblock affine motion compensation mode;
determine a size of one or more subblocks of the block based on one or more of an inter prediction direction or affine motion parameters of the block;
partition the block into the one or more subblocks based on the determined size; and
decode the one or more subblocks using the subblock affine motion compensation mode.

### Claim 26 (depends on 25)

The non-transitory computer-readable storage medium of claim 25, wherein to determine the size of the one or more subblocks of the block, the instructions further cause the one or more processors to:
determine the size of the one or more subblocks of the block based on the inter prediction direction.

### Claim 27 (depends on 25)

The non-transitory computer-readable storage medium of claim 25, wherein to determine the size of the one or more subblocks of the block, the instructions further cause the one or more processors to:
determine the size of the one or more subblocks of the block based on the affine motion parameters.

### Claim 28

An apparatus configured to decode video data, the apparatus comprising:
means for receiving a block of video data to be decoded using a subblock affine motion compensation mode;
means for determining a size of one or more subblocks of the block based on one or more of an inter prediction direction or affine motion parameters of the block;
means for partitioning the block into the one or more subblocks based on the determined size; and
means for decoding the one or more subblocks using the subblock affine motion compensation mode.

### Claim 29 (depends on 28)

The apparatus of claim 28, wherein the means for determining the size of the one or more subblocks of the block comprises:
means for determining the size of the one or more subblocks of the block based on the inter prediction direction.

### Claim 30 (depends on 28)

The apparatus of claim 28, wherein the means for determining the size of the one or more subblocks of the block comprises:
means for determining the size of the one or more subblocks of the block based on the affine motion parameters.
