IP Library Granted Patent US 10,708,625
Granted Patent B2
US 10,708,625 · App. 16/006,516 · Granted Jul 7, 2020

Adaptive deblocking filter

Inventors: Yu-Chen Sun (Bellevue, WA); Jian Lou (Bellevue, WA)
Assignee: Alibaba Group Holding Limited
H04N19/86H04N19/176H04N19/182H04N19/66
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,708,625
App. No.
16/006,516
Granted
Jul 7, 2020
Kind
B2
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 (59)

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 by:

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; and

applying the selected deblocking filter to pixels across the coding unit boundary.

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

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

4. 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.

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

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

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

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

9. 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 by:

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; and

applying the selected deblocking filter to pixels across the coding unit boundary.

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

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

12. The non-transitory computer-readable storage medium of claim 9 , 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.

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

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

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

16. 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.

17. 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, that when executed by the one or more processors, perform associated operations, 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,

determine a first shape of the first coding unit and a second shape of the second coding unit, and

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

a decoder module configured to:

adaptively select a deblocking filter based on the first shape and the second shape by

selecting a first deblocking filter as the deblocking filter upon the determination module determining that the first shape and the second shape are both non-square in shape, or

selecting a second deblocking filter as the deblocking filter upon the determination module determining that only one of the first shape or the second shape is non-square, and

apply the selected deblocking filter to pixels across the coding unit boundary.

18. The computing device of claim 17 , wherein the second coding unit is one of:

vertically adjacent to the first coding unit, or

horizontally adjacent to the first coding unit.

19. The computing device of claim 17 , wherein the decoder module is further configured to adaptively select the deblocking filter based on the first shape and the second shape by selecting the deblocking filter from a plurality of deblocking filters based on the first shape and second shape.

20. The computing device of claim 17 , wherein:

the first deblocking filter is a strong filter and the second deblocking filter is a weak filter, or

the first deblocking filter is a weak filter and the second deblocking filter is a strong filter.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2018
From: SUN, YU-CHEN; LOU, JIAN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 046080/0427 →
Continuity (1)
Related Publication 20190379913A1 · Dec 12, 2019