# US 2019/0379913 A1 · Adaptive deblocking filter

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

- Number: US 2019/0379913 A1
- Document ID: US20190379913A1
- Status: Published application
- Kind: A1
- Application number: 16/006,516
- Filed: 2018-06-12
- Published: 2019-12-12
- Earliest claimed: 2018-06-12
- Assignees: Alibaba Group Holding Limited
- Applicants: Alibaba Group Holding Limited
- Inventors: Yu-Chen Sun; Jian Lou
- Web page: https://patentgrep.com/patent/US20190379913A1

## CPC

- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/86: involving reduction of coding artifacts, e.g. of blockiness
- H04N 19/136: Incoming video signal characteristics or properties
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/182: the unit being a pixel
- H04N 19/66: involving data partitioning, i.e. separation of data into packets or partitions according to importance
- H04N 19/80: Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation (H04N19/635, H04N19/86 take precedence)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Systems and methods are provided for selecting and applying an appropriate deblocking filter for improved coding efficiency and compression performance by partitioning a frame into a plurality of rectangular coding units (CUs) according to the QTBT frame partitioning scheme, selecting a first and a second CUs of the plurality of rectangular CUs, where the second CU is adjacent to the first CU, identifying a CU boundary shared by the first and second CUs, determining that at least one of the first or the second CU is non-square in shape, determining a first shape of the first CU and a second shape of the second CU, adaptively selecting a deblocking filter based on the first shape and the second shape, and applying the selected deblocking filter to pixels across the CU boundary.

## Claims

### Claim 1

A method comprising:
partitioning a frame into a plurality of rectangular coding units;
selecting a first coding unit and a second coding unit of the plurality of rectangular coding units, the second coding unit being adjacent to the first coding unit;
identifying a coding unit boundary shared by the first coding unit and second coding unit;
determining a first shape of the first coding unit and a second shape of the second coding unit;
upon determining that at least one of the first coding unit or the second coding unit is non-square in shape,
adaptively selecting a deblocking filter based on the first shape and the second shape; and
applying the selected deblocking filter to pixels across the coding unit boundary.

### Claim 2 (depends on 1)

The method of claim 1, wherein the second coding unit is vertically adjacent to the first coding unit.

### Claim 3 (depends on 1)

The method of claim 1, wherein the second coding unit is horizontally adjacent to the first coding unit.

### Claim 4 (depends on 1)

The method of claim 1, wherein adaptively selecting the deblocking filter based on the first shape and the second shape includes selecting the deblocking filter from a plurality of deblocking filters based on the first shape and second shape.

### Claim 5 (depends on 1)

The method of claim 1, wherein adaptively selecting the deblocking filter based on the first shape and the second shape includes:
determining whether the first shape and the second shape are both non-square in shape or only one of the first shape or the second shape is non-square in shape;
upon determining that the first shape and the second shape are both non-square in shape, selecting a first deblocking filter as the deblocking filter; or
upon determining that only one of the first shape or the second shape is non-square in shape, selecting a second deblocking filter as the deblocking filter.

### Claim 6 (depends on 5)

The method of claim 5, wherein the first deblocking filter is a strong filter and the second deblocking filter is a weak filter.

### Claim 7 (depends on 6)

The method of claim 6, wherein the strong filter is a long tap filter and the weak filter is a short tap filter.

### Claim 8 (depends on 5)

The method of claim 5, wherein the first deblocking filter is a weak filter and the second deblocking filter is a strong filter.

### Claim 9 (depends on 8)

The method of claim 8, wherein the strong filter is a long tap filter and the weak filter is a short tap filter.

### Claim 10

A non-transitory computer-readable storage medium storing computer-readable instructions executable by one or more processors, that when executed by the one or more processors, cause the one or more processors to perform operations comprising:
partitioning a frame into a plurality of rectangular coding units;
selecting a first coding unit and a second coding unit of the plurality of rectangular coding units, the second coding unit being adjacent to the first coding unit;
identifying a coding unit boundary shared by the first coding unit and second coding unit;
determining whether at least one of the first coding unit or the second coding unit is non-square in shape;
upon determining that at least one of the first coding unit or the second coding unit is non-square in shape,
determining a first shape of the first coding unit and a second shape of the second coding unit;
adaptively selecting a deblocking filter based on the first shape and the second shape; and
applying the selected deblocking filter to pixels across the coding unit boundary.

### Claim 11 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the second coding unit is vertically adjacent to the first coding unit.

### Claim 12 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the second coding unit is horizontally adjacent to the first coding unit.

### Claim 13 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein adaptively selecting the deblocking filter based on the first shape and the second shape includes selecting the deblocking filter from a plurality of deblocking filters based on the first shape and second shape.

### Claim 14 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein adaptively selecting the deblocking filter based on the first shape and the second shape includes:
determining whether the first shape and the second shape are both non-square in shape or only one of the first shape or the second shape is non-square in shape;
upon determining that the first shape and the second shape are both non-square in shape, selecting a first deblocking filter as the deblocking filter; or
upon determining that only one of the first shape or the second shape is non-square, selecting a second deblocking filter as the deblocking filter.

### Claim 15 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the first deblocking filter is a strong filter and the second deblocking filter is a weak filter.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the strong filter is a long tap filter and the weak filter is a short tap filter.

### Claim 17 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the first deblocking filter is a weak filter as the deblocking filter and the second deblocking filter is a strong filter.

### Claim 18 (depends on 17)

The non-transitory computer-readable storage medium of claim 17, wherein the strong filter is a long tap filter and the weak filter is a short tap filter.

### Claim 19

A computing device comprising:
one or more processors; and
memory communicatively coupled to the one or more processors, the memory storing computer-executable modules executable by the one or more processors, the computer-executable modules including:
a partition module configured to partition a frame into a plurality of rectangular coding units;
a selection module configured to select a first coding unit and a second coding unit of the plurality of rectangular coding units, the second coding unit being adjacent to the first coding unit;
a determination module configured to:
determine whether at least one of the first coding unit or the second coding unit is non-square in shape,
upon determining that at least one of the first coding unit or the second coding unit is non-square in shape, identify a coding unit boundary shared by the first and second coding units, and
determine a first shape of the first coding unit and a second shape of the second coding unit; and
a decoder module configured to:
adaptively select a deblocking filter based on the first shape and the second shape, and
apply the selected deblocking filter to pixels across the coding unit boundary.

### Claim 20 (depends on 19)

The computing device of claim 19, wherein:
the decoder module is further configured to determine whether the first shape and the second shape are both non-square in shape or only one on of the first shape or the second shape is non-square in shape; and
the decoder module is further configured to:
select a first deblocking filter as the deblocking filter upon the decoder module determining that the first shape and the second shape are both non-square, or
select a second deblocking filter as the deblocking filter upon the decoder module determining that only one of the first shape or the second shape is non-square.
