# US 12,010,291 B2 · Adaptive filter strength signalling for geometric partition mode

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

- Number: US 12,010,291 B2
- Document ID: US12010291B2
- Status: Granted
- Kind: B2
- Application number: 17/557,930
- Filed: 2021-12-21
- Published: 2022-04-14
- Granted: 2024-06-11
- Earliest claimed: 2020-06-19
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Semih Esenlik; Max Blaeser; Zhijie Zhao; Han Gao; Biao Wang; Anand Meher Kotra; Elena Alexandrovna Alshina
- Web page: https://patentgrep.com/patent/US12010291B2

## CPC

- H04N 19/103: Selection of coding mode or of prediction mode
- H04N 19/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- H04N 19/132: Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method for coding implemented by a decoding device or an encoding device includes: obtaining a first prediction mode for a first sub-block, obtaining a second prediction mode for a second sub-block; obtaining a first prediction value for a sample in the current block according to the first prediction mode, obtaining a second prediction value for the sample in the current block according to the second prediction mode; obtaining a value of an indicator, the value of the indicator indicating a blending operation which is performed for the sample in the current block; and obtaining a combined prediction value for the sample in the current block, according to the value of the indictor, the first prediction value, and the second prediction value. The blending operation adaptively performs around a separation line dividing the current block into at least the first sub-block and the second sub-block.

## Claims

### Claim 1

A method for video coding implemented by a decoding device or an encoding device, the method comprising:
dividing a current block into at least two sub-blocks;
obtaining a first prediction mode for a first sub-block in the at least two sub-blocks and obtaining a second prediction mode for a second sub-block in the at least two sub-blocks;
obtaining a first prediction value for a sample in the current block according to the first prediction mode and obtaining a second prediction value for the sample in the current block according to the second prediction mode;
obtaining an indicator, wherein the indicator comprises information on performing a blending operation for the sample in the current block; and
obtaining a combined prediction value, for the sample in the current block, based on the indicator, the first prediction value, and the second prediction value, by:
determining a sample distance for the sample in the current block with regard to a separation line dividing the current block into the first sub-block and the second sub-block;
calculating a first weight value according to the sample distance for the sample in the current block and the blending operation which is indicated by the indicator; and
obtaining a second weight value according to the first weight value; and
obtaining the combined prediction value for the sample in the current block, by weighting the first prediction value and the second prediction value, according to the first weight value and the second weight value, respectively.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining, based on the indicator, whether the blending operation is performed for the sample in the current block.

### Claim 3 (depends on 2)

The method of claim 2, wherein, upon a determination that the blending operation is not performed for the sample in the current block, the combined prediction value for the sample is obtained either as the first prediction value or as the second prediction value.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
selecting, based on the indicator, the blending operation from a plurality of blending operations.

### Claim 5 (depends on 1)

The method of claim 1, wherein the indicator is coded in a bitstream of a video sequence.

### Claim 6 (depends on 5)

The method of claim 5, wherein the indicator comprises a first indicator indicating which blending operation is selected, and a second indicator indicating presence of the first indicator in the bitstream.

### Claim 7 (depends on 5)

The method of claim 5, wherein the indicator is encoded in a sequence parameter set or a picture parameter set or an adaptation parameter set.

### Claim 8 (depends on 5)

The method of claim 5, wherein the indicator is encoded in a picture header or a tile header or a tile group header or a slice header.

### Claim 9 (depends on 1)

The method of claim 1, wherein the blending operation is implemented as:
sampleWeight1=Clip3(0,2*K,sample_dist),
wherein sampleWeight1 is the first weight value, sample_dist is a value of the sample distance for the sample in the current block with an offset of K added, K is an integer value with a value greater than 0, and
wherein a definition of function Clip3 is as follows:
Clip
⁢
3
⁢
(
x
,
y
,
z
)
=
{
x
;
z
<
x
y
;
z
>
y
z
;
otherwise
.

### Claim 10 (depends on 1)

The method of claim 1, wherein the blending operation is implemented as:
sampleWeight1=Clip3(0,2*K,f(sample_dist)),
wherein sampleWeight1 is the first weight value, sample_dist is a value of the sample distance for the sample in the current block with an offset of K added, K is an integer value with a value greater than 0, and f( ) is a function, and
wherein a definition of function Clip3 is as follows:
Clip
⁢
3
⁢
(
x
,
y
,
z
)
=
{
x
;
z
<
x
y
;
z
>
y
z
;
otherwise
.

### Claim 11 (depends on 9)

The method of claim 9, wherein K is equal to 4.

### Claim 12 (depends on 1)

The method of claim 1, wherein the blending operation is implemented as:
sampleWeight1=sample_dist==4?4:(sample_dist<4?0:8); or as
sampleWeight1=Clip3(0,8,(sample_dist−4)*K+sample_dist),
wherein the sampleWeight1 is the first weight value, sample_dist is a value of the sample distance for the sample in the current block with an offset of 4 added, K is an integer with a value greater than 0, and
wherein a definition of function Clip3 is as follows:
Clip
⁢
3
⁢
(
x
,
y
,
z
)
=
{
x
;
z
<
x
y
;
z
>
y
z
;
otherwise
.

### Claim 13 (depends on 1)

The method of claim 1, wherein the blending operation is implemented as:
sampleWeight1=geoFilter[idx],
wherein idx is obtained as a function of sample_dist, the sample_dist is a value of the sample distance for the sample in the current block, and geoFilter is a one-dimensional linear array of filter weights.

### Claim 14 (depends on 1)

The method of claim 1, wherein obtaining the combined prediction value for the sample in the current block involves at least one of a rounding operation and a clipping operation.

### Claim 15 (depends on 1)

The method of claim 1, wherein parameters specifying the separation line are signaled in a bitstream of a video sequence.

### Claim 16 (depends on 15)

The method of claim 15, wherein the parameters specifying the separation line include at least one of an angle and a distance.

### Claim 17

A decoder, the decoder comprising:
one or more processors; and
a non-transitory computer-readable storage medium coupled to the one or more processors and storing computer program instructions for execution by the one or more processors, wherein the computer program instructions, when executed by the one or more processors, cause the decoder to perform operations of,
dividing a current block into at least two sub-blocks;
obtaining a first prediction mode for a first sub-block in the at least two sub-blocks and obtaining a second prediction mode for a second sub-block in the at least two sub-blocks;
obtaining a first prediction value for a sample in the current block according to the first prediction mode and obtaining a second prediction value for the sample in the current block according to the second prediction mode;
obtaining an indicator, wherein the indicator includes information on performing a blending operation for the sample in the current block; and
obtaining a combined prediction value for the sample in the current block, based on the indicator, the first prediction value, and the second prediction value, by:
determining a sample distance for the sample in the current block with regard to a separation line dividing the current block into the first sub-block and the second sub-block;
calculating a first weight value according to the sample distance for the sample in the current block and the blending operation which is indicated by the indicator; and
obtaining a second weight value according to the first weight value; and
obtaining the combined prediction value for the sample in the current block, by weighting the first prediction value and the second prediction value, according to the first weight value and the second weight value, respectively.

### Claim 18

A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
dividing a current block into at least two sub-blocks;
obtaining a first prediction mode for a first sub-block in the at least two sub-blocks and obtaining a second prediction mode for a second sub-block in the at least two sub-blocks;
obtaining a first prediction value for a sample in the current block according to the first prediction mode and obtaining a second prediction value for the sample in the current block according to the second prediction mode;
obtaining an indicator, wherein the indicator includes information on performing a blending operation for the sample in the current block; and
obtaining a combined prediction value for the sample in the current block, based on the indicator, the first prediction value, and the second prediction value, by:
determining a sample distance for the sample in the current block with regard to a separation line dividing the current block into the first sub-block and the second sub-block;
calculating a first weight value according to the sample distance for the sample in the current block and the blending operation which is indicated by the indicator; and
obtaining a second weight value according to the first weight value; and
obtaining the combined prediction value for the sample in the current block, by weighting the first prediction value and the second prediction value, according to the first weight value and the second weight value, respectively.
