# US 10,771,811 B2 · Overlapped motion compensation for video coding

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

- Number: US 10,771,811 B2
- Document ID: US10771811B2
- Status: Granted
- Kind: B2
- Application number: 16/253,049
- Filed: 2019-01-21
- Published: 2019-05-23
- Granted: 2020-09-08
- Earliest claimed: 2015-01-26
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Hongbin Liu; Ying Chen; Jianle Chen; Xiang Li; Marta Karczewicz
- Web page: https://patentgrep.com/patent/US10771811B2

## CPC

- H04N 19/583: Motion compensation with overlapping blocks
- 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/167: Position within a video image, e.g. region of interest [ROI]
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/423: characterised by memory arrangements (H04N19/433 takes precedence)
- H04N 19/44: Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

In an example, a method of decoding video data may include receiving a first block of video data. The first block of video data may be a sub-block of a prediction unit. The method may include receiving one or more blocks of video data that neighbor the first block of video data. The method may include determining motion information of at least one of the one or more blocks of video data that neighbor the first block of video data. The method may include decoding, using overlapped block motion compensation, the first block of video data based at least in part on the motion information of the at least one of the one or more blocks that neighbor the first block of video data.

## Claims

### Claim 1

A method of decoding encoded video data, the method comprising:
receiving, in an encoded video bitstream, a first coding unit of the encoded video data, the first coding unit being partitioned into a plurality of sub-blocks including a first sub-block;
receiving, in the encoded video bitstream, a second coding unit comprising one or more neighboring sub-blocks, each of the one or more neighboring sub-blocks neighboring the first sub-block;
parsing, from the encoded video bitstream, a syntax element;
determining that the syntax element is set to a value indicating that the first sub-block is encoded according to an overlapped block motion compensation mode;
determining motion information of one or more of the neighboring sub-blocks; and
based on the first sub-block being encoded according to the overlapped block motion compensation mode, decoding, using the overlapped block motion compensation mode, the first sub-block using the determined motion information of one or more of the neighboring sub-blocks.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining that one or more of the neighboring sub-blocks is not available; and
decoding the first sub-block without using any motion information of the one or more neighboring sub-blocks that is determined to not be available.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining the motion information of one or more of the neighboring sub-blocks comprises decoding one or more of the neighboring sub-blocks.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
generating a first prediction block for the first sub-block, wherein the first prediction block includes a respective value for each respective pixel position of a plurality of pixel positions for the first sub-block;
assigning, based on a size of the first sub-block, one or more weighted values to one or more values of the first prediction block; and
decoding the first sub-block using the one or more weighted values assigned to the one or more values of the first prediction block generated for the first sub-block.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
generating a first neighbor prediction block based on the determined motion information of at least a first neighboring sub-block of the neighboring sub-blocks;
assigning, based on a size of the first neighboring sub-block, one or more weighted values to one or more values of the first neighbor prediction block; and
decoding the first sub-block using the one or more weighted values assigned to the one or more values of the first neighbor prediction block.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
modifying one or more values of the first prediction block based on the one or more weighted values assigned to the one or more values of the first neighbor prediction block to form a first modified prediction block; and
decoding the first sub-block using the first modified prediction block.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
generating a second neighbor prediction block based on the determined motion information of a second neighboring sub-block of the neighboring sub-blocks;
assigning, based on a size of the second neighboring sub-block, one or more weighted values to one or more values of the second neighbor prediction block; and
modifying one or more values of the first and second neighbor prediction blocks based on the one or more weighted values assigned to the one or more values of the first and second prediction blocks to generate the first modified prediction block.

### Claim 8 (depends on 1)

The method of claim 1,
wherein the value of the syntax element is a true value, wherein the true value indicates that the first sub-block is encoded according to the overlapped block motion compensation mode, and
wherein determining that the first sub-block is encoded according to the overlapped block motion compensation mode based on the value of the syntax element comprises determining that the first sub-block is encoded according to the overlapped block motion compensation mode based on the value of the syntax element being equal to the true value.

### Claim 9 (depends on 1)

The method of claim 1, the method being executable on a wireless communication device, wherein the wireless communication device comprises:
a receiver configured to receive the first sub-block of video data and the syntax element;
a memory configured to store the first sub-block of video data; and
a processor configured to execute instructions to process the first sub-block of video data stored in the memory.

### Claim 10 (depends on 9)

The method of claim 9, wherein the wireless communication device is a
telephone, and the first sub-block of video data and the syntax element are received by the receiver and demodulated according to a communication standard.

### Claim 11 (depends on 1)

The method of claim 1, wherein the first sub-block is at a top boundary or a left boundary of the first coding unit neighboring the second coding unit.

### Claim 12 (depends on 1)

The method of claim 1, wherein one or more of the neighboring sub-blocks of the second coding unit neighbors the first coding unit at a top boundary or a left boundary of the first coding unit.

### Claim 13 (depends on 1)

The method of claim 1, wherein the determined motion information of the neighboring sub-blocks is determined from subsampled or compressed motion information of the neighboring sub-blocks.

### Claim 14

A device for decoding encoded video data, the device comprising:
a memory configured to store the video data; and
one or more processors implemented in circuitry and configured to:
receive, in an encoded video stream of the video data, a first coding unit of the encoded video data, the first coding unit being partitioned into a plurality of sub-blocks including a first sub-block;
receive, in the encoded video stream, a second coding unit comprising one or more neighboring sub-blocks, each of the one or more neighboring sub-blocks neighboring the first sub-block;
parse, from the encoded video stream, a syntax element;
determine that the syntax element is set to a value indicating that the first sub-block is encoded according to an overlapped block motion compensation mode;
determine motion information of one or more of the neighboring sub-blocks; and
based on the first sub-block being encoded according to the overlapped block motion compensation mode, decode, using the overlapped block motion compensation mode, the first sub-block using the determined motion information of one or more of the neighboring sub-blocks.

### Claim 15 (depends on 14)

The device of claim 14, wherein the one or more processors are further configured to:
determine that one or more of the neighboring sub-blocks is not available; and
decode the first sub-block without using any motion information of the one or more neighboring sub blocks that is determined to not be available.

### Claim 16 (depends on 14)

The device of claim 14, wherein to determine the motion information of one or more of the neighboring sub-blocks, the one or more processors are further configured to decode one or more of the neighboring sub blocks.

### Claim 17 (depends on 14)

The device of claim 14, wherein the one or more processors are further configured to:
generate a first prediction block for the first sub-block, wherein the first prediction block includes a respective value for each respective pixel position of a plurality of pixel positions for the first sub-block;
assign, based on a size of the first sub-block, one or more weighted values to one or more values of the first prediction block; and
decode the first sub-block using the one or more weighted values assigned to the one or more values of the first prediction block generated for the first sub-block.

### Claim 18 (depends on 17)

The device of claim 17, wherein the one or more processors are further configured to:
generate a first neighbor prediction block based on the determined motion information of at least a first neighboring sub-block of the neighboring sub-blocks;
assign, based on a size of the first neighboring sub-block, one or more weighted values to one or more values of the first neighbor prediction block; and
decode the first sub-block using the one or more weighted values assigned to the one or more values of the first neighbor prediction block.

### Claim 19 (depends on 18)

The device of claim 18, wherein the one or more processors are further configured to:
modify one or more values of the first prediction block based on the one or more weighted values assigned to the one or more values of the first neighbor prediction block to form a first modified prediction block; and
decode the first sub-block using the first modified prediction block.

### Claim 20 (depends on 19)

The device of claim 19, wherein the one or more processors are further configured to:
generate a second neighbor prediction block based on the determined motion information of a second neighboring sub-block of the neighboring sub-blocks;
assign, based on a size of the second neighboring sub-block, one or more weighted values to one or more values of the second neighbor prediction block; and
modify one or more values of the first and second neighbor prediction blocks based on the one or more weighted values assigned to the one or more values of the first and second prediction blocks to generate the first modified prediction block.

### Claim 21 (depends on 14)

The device of claim 14,
wherein the value of the syntax element is a true value, wherein the true value indicates that the first sub-block is encoded according to the overlapped block motion compensation mode, and
wherein to determine that the first sub-block is encoded according to the overlapped block motion compensation mode based on the value of the syntax element, the one or more processors are further configured to determine that the first sub-block is encoded according to the overlapped block motion compensation mode based on the value of the syntax element being equal to the true value.

### Claim 22 (depends on 14)

The device of claim 14, wherein the first sub-block is at a top boundary or a left boundary of the first coding unit neighboring the second coding unit.

### Claim 23 (depends on 14)

The device of claim 14, wherein one or more of the neighboring sub-blocks of the second coding unit neighbors the first coding unit at a top boundary or a left boundary of the first coding unit.

### Claim 24 (depends on 14)

The device of claim 14, wherein the determined motion information of the neighboring sub-blocks is determined from subsampled or compressed motion information of the neighboring sub-blocks.

### Claim 25 (depends on 14)

The device of claim 14, wherein the device comprises a wireless communication device comprising:
a receiver configured to receive the first sub-block of video data and the syntax element;
a memory configured to store the first sub-block of video data; and
a processor configured to execute instructions to process the first sub-block of video data stored in the memory.

### Claim 26 (depends on 25)

The device of claim 25, wherein the wireless communication device comprises a telephone, and the first sub-block of video data and the syntax element are received by the receiver and demodulated according to a communication standard.

### Claim 27

A non-transitory computer-readable storage medium configured to store instructions that when executed by one or processors cause the one or more processors to:
receive, in an encoded video bitstream, a first coding unit of the encoded video data, the first coding unit being partitioned into a plurality of sub-blocks including a first sub-block;
receive, in the encoded video bitstream, a second coding unit comprising one or more neighboring sub-blocks, each of the one or more neighboring sub-blocks neighboring the first sub-block;
parse, from the encoded video bitstream, a syntax element;
determine that the syntax element is set to a value indicating that the first sub-block is encoded according to an overlapped block motion compensation mode;
determine motion information of one or more of the neighboring sub-blocks; and
based on the first sub-block being encoded according to the overlapped block motion compensation mode, decode, using the overlapped block motion compensation mode, the first sub-block using the determined motion information of one or more of the neighboring sub-blocks.

### Claim 28 (depends on 27)

The non-transitory computer-readable storage medium of claim 27, storing further instructions that when executed by the one or more processors cause the one or more processors to:
determine that one or more of the neighboring sub-blocks is not available; and
decode the first sub-block without using any motion information of the one or more neighboring sub blocks that is determined to not be available.

### Claim 29 (depends on 27)

The non-transitory computer-readable storage medium of claim 27, wherein to determine the motion information of one or more of the neighboring sub-blocks, the instructions cause the one or more processors to decode one or more of the neighboring sub blocks.

### Claim 30 (depends on 27)

The non-transitory computer-readable storage medium of claim 27, storing further instructions that when executed by the one or more processors cause the one or more processors to:
generate a first prediction block for the first sub-block, wherein the first prediction block includes a respective value for each respective pixel position of a plurality of pixel positions for the first sub-block;
assign, based on a size of the first sub-block, one or more weighted values to one or more values of the first prediction block; and
decode the first sub-block using the one or more weighted values assigned to the one or more values of the first prediction block generated for the first sub-block.
