# US 2020/0288168 A1 · Complexity reduction of overlapped block 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/0288168 A1
- Document ID: US20200288168A1
- Status: Published application
- Kind: A1
- Application number: 16/651,447
- Filed: 2018-09-28
- Published: 2020-09-10
- Earliest claimed: 2017-09-28
- Assignees: Vid Scale, Inc.
- Applicants: Vid Scale, Inc.
- Inventors: Yan Zhang; Xiaoyu Xiu; Yuwen He; Yan Ye
- Web page: https://patentgrep.com/patent/US20200288168A1

## CPC

- H04N 19/583: Motion compensation with overlapping blocks
- H04N 19/139: Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
- H04N 19/189: characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Overlapped block motion compensation (OBMC) may be performed for a current video block based on motion information associated with the current video block and motion information associated with one or more neighboring blocks of the current video block. Under certain conditions, some or ail of these neighboring blocks may be omitted from the OBMC operation of the current block. For instance, a neighboring block may be skipped during the OBMC operation if the current video block and the neighboring block are both uni-directionally or bi-directionally predicted, if the motion vectors associated with the current block and the neighboring block refer to a same reference picture, and if a sum of absolute differences between those motion vectors is smaller than a threshold value. Further, OBMC may be conducted in conjunction with regular motion compensation and may use simplified filters than traditionally allowed.

## Claims

### Claim at position 1

1-40. (canceled)

### Claim 41

A method of processing video data, comprising:
identifying a first motion vector and a second motion vector, the first motion vector associated with a first video block and referring to a reference picture, the second motion vector associated with a second video block neighboring the first video block;
determining that the second motion vector refers to the same reference picture as the first motion vector and that the first video block and the second video block are predicted using a same directional prediction mode;
deciding, based on a difference between the first motion vector and the second motion vector, whether to perform overlapped block motion compensation (OBMC) based on the second video block for the first video block; and
processing the first video block in accordance with the deciding, wherein on a condition that the difference indicates that the first motion vector is substantially different from the second motion vector, OBMC based on the second video block is performed for the first video block, and on a condition that the difference indicates that the first motion vector is not substantially different from the second motion vector, OBMC based on the second video block is skipped for the first video block.

### Claim 42

The method of dam 41, wherein the difference between the first motion vector and the second motion vector comprises a sum of absolute difference (SAD) between the first motion vector and the second motion vector, and the first motion vector is determined to be substantially different from the second motion vector if the SAD is equal to or greater than a threshold value.

### Claim 43 (depends on 42)

The method of claim 42, wherein the threshold value is dependent on whether the second motion vector is a uni-prediction motion vector or a bi-prediction motion vector, and the threshold value used when the second motion vector is a bi-prediction motion vector is larger than the threshold value used when the second motion vector is a uni-prediction motion vector.

### Claim 44 (depends on 42)

The method of claim 42, wherein the SAD between the first motion vector and the second motion vector is calculated as a sum of respective absolute differences between the first and second motion vectors in both the horizontal and vertical directions of the first and second motion vectors.

### Claim 45 (depends on 42)

The method of claim 42, wherein the first motion vector is determined to be substantially different from the second motion vector on a condition that the SAD is equal to or greater than a first threshold value, and, on the condition that the SAD is equal to or greater than the first threshold value, OBMC based on the second video block is performed for both chroma and luma components of the first video block.

### Claim 46 (depends on 45)

The method of claim 45, further comprises comparing the SAD to a second threshold value that is smaller than the first threshold value, wherein, on the condition that the SAD is between the first threshold value and the second threshold, OBMC based on the second video block is performed only for the luma component of the first video block, and, on a condition that the SAD is smaller than the second threshold value, OBMC based on the second video block is skipped for both the chroma and luma components of the first video block.

### Claim 47 (depends on 41)

The method of claim 41, wherein the directional prediction mode is a unidirectional prediction mode or a bidirectional prediction mode.

### Claim 48 (depends on 41)

The method of claim 41, wherein, on a condition that the difference between the first motion vector and the second motion vector indicates that the first motion vector is substantially different from the second motion vector, the method further comprises:
identifying an extended prediction block, wherein the extended prediction block comprises at least one more column or row of samples than a regular prediction block of the second video block, the regular prediction block having a same block size as the second video block;
storing the at least one more column or row of samples in memory; and
performing OBMC based on the second video block for the first video block using the at least one more column or row of samples.

### Claim 49

A coding device, comprising:
a processor configured to:
identify a first motion vector and a second motion vector, the first motion vector associated with a first video block and referring to a reference picture, the second motion vector associated with a second video block neighboring the first video block;
determine that the second motion vector refers to the same reference picture as the first motion vector and that the first video block and the second video block are predicted using a same directional prediction mode;
decide, based on a difference between the first motion vector and the second motion vector, whether to perform overlapped block motion compensation (OBMC) based on the second video block for the first video block; and
process the first video block in accordance with the deciding, wherein on a condition that the difference indicates that the first motion vector is substantially different from the second motion vector, OBMC based on the second video block is performed for the first video block, and on a condition that the difference indicates that the first motion vector is not substantially different from the second motion vector, OBMC based on the second video block is skipped for the first video block.

### Claim 50 (depends on 49)

The coding device of claim 49, wherein the difference between the first motion vector and the second motion vector comprises a sum of absolute difference (SAD) between the first motion vector and the second motion vector, and the first motion vector is determined to be substantially different from the second motion vector if the SAD is equal to or greater than a threshold value.

### Claim 51 (depends on 50)

The coding device of claim 50, wherein the threshold value is dependent on whether the second motion vector is a uni-prediction motion vector or a bi-prediction motion vector, and the threshold value used when the second motion vector is a bi-prediction motion vector is larger than the threshold value used when the second motion vector is a uni-prediction motion vector.

### Claim 52 (depends on 50)

The coding device of claim 50, wherein the SAD between the first motion vector and the second motion vector is calculated as a sum of respective absolute differences between the first and second motion vectors in both the horizontal and vertical directions of the first and second motion vectors.

### Claim 53 (depends on 50)

The coding device of claim 50, wherein the threshold value is determined based on a temporal characteristic of the first video block that indicates whether the first video block belongs to a low-delay picture.

### Claim 54 (depends on 50)

The coding device of claim 50, wherein the first motion vector is determined to be substantially different from the second motion vector on a condition that the SAD is equal to or greater than a first threshold value, and, on the condition that the SAD is equal to or greater than the first threshold value, OBMC based on the second video block is performed for both chroma and luma components of the first video block.

### Claim 55 (depends on 54)

The coding device of claim 54, wherein the processor is further configured to compare the SAD to a second threshold value that is smaller than the first threshold value, wherein, on the condition that the SAD is between the first threshold value and the second threshold, OBMC based on the second video block is performed only for the luma component of the first video block, and, on a condition that the SAD is smaller than the second threshold value, OBMC based on the second video block is skipped for both the chroma and luma components of the first video block.

### Claim 56 (depends on 49)

The coding device of claim 49, wherein the first and second video blocks each have a block size of 4×4 pixels.

### Claim 57 (depends on 49)

The coding device of claim 49, wherein the directional prediction mode is a unidirectional prediction mode or a bidirectional prediction mode.

### Claim 58 (depends on 49)

The coding device of claim 49, wherein, on a condition that the difference between the first motion vector and the second motion vector indicates that the first motion vector is substantially different from the second motion vector, the processor is further configured to:
identify an extended prediction block, wherein the extended prediction block comprises at least one more column or row of samples than a regular prediction block of the second video block, the regular prediction block having a same block size as the second video block;
store the at least one more column or row of samples in memory; and
perform OBMC based on the second video block for the first video block using the at least one more column or row of samples.

### Claim 59 (depends on 58)

The coding device of claim 58, wherein the at least one more column or row of samples comprises a left-side column of samples located along a left boundary of the extended prediction block, and, when performing OBMC based on the second video block for the first video block, the left-side column of samples is used to compensate a right-side column of the first video block located along a right boundary of the first video block.

### Claim 60 (depends on 49)

The coding device of claim 49, wherein, on a condition that the difference between the first motion vector and the second motion vector indicates that the first motion vector is substantially different from the second motion vector, OBMC based on the second video block is performed for a luma component of the first video block using a filter of a length shorter than 8 taps and OBMC based on the second video block is performed for a chroma component of the first video block using a filter of a length shorter than 4 taps.
