IP Library Granted Patent US 7,894,534
Granted Patent B2
US 7,894,534 · App. 11/270,668 · Granted Feb 22, 2011

Low-complexity deblocking filter

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 7,894,534
App. No.
11/270,668
Granted
Feb 22, 2011
Kind
B2
Abstract

A method of filtering to remove coding artifacts introduced at block edges in a block-based video coder, the method having the steps of: checking the content activity on every line of samples belonging to a boundary to be filtered and where content activity is based on a set of adaptively selected thresholds determined using Variable-Shift Table Indexing (VSTI); determining whether the filtering process will modify the sample values on that particular line based on said content activity; and selecting a filtering mode between at least two filtering modes to apply on a block boundary basis, implying that there would be no switching between the two primary modes on a line by line basis along a given block boundary. The two filtering modes include a default mode based on a non-recursive filter, and a strong filtering mode which features two strong filtering sub-modes and a new selection criterion that is one-sided with respect to the block boundary to determine which of the two strong filtering sub-modes to use. The two strong filtering sub-modes include a new 3-tap filter sub-mode and a 5-tap filter sub-mode that permits a more efficient implementation of the filter.

Claims (181)

1. A method of line-based, one dimensional, spatial filtering of reconstructed samples to minimise coding artifacts introduced at a block boundary in a block-based video encoder and/or decoder, the method having the steps of:

(a) calculating, by the video decoder, a pair of indices used to access a table of a pair of corresponding activity threshold values, the indices calculated using an average quantization parameter and an offset parameter;

(b) determining, by the video decoder, the activity threshold values based on the pair of indicies;

(c) confirming, by the video decoder, whether the filtering process will modify the sample values on every line of samples for the block boundary by checking a content activity for the every line of samples for said block boundary, the content activity based on the determined activity threshold values; and

(d) filtering, by the video decoder, the confirmed samples when a filtering strength, Bs, is not equal to zero, wherein Bs is calculated by:

determining that at least one neighboring block across the block boundary is not intra-coded, wherein the at least one neighboring block is not intra-coded when the at least one neighboring block contains at least one non-zero coefficient; and

determining that Bs is not equal to zero when the at least one neighboring block contains the at least one non-zero coefficient.

2. The method of claim 1 , wherein a pair of the activity threshold values are ALPHA (α) and BETA (β), and the average quantization parameter, QP av , is the average of two quantization values used in coding two blocks that neighbour the block boundary.

3. The method of claim 2 , wherein the values of the activity threshold values, ALPHA (α) and BETA (β), for each possible value of the indices Index A and Index B are

Index A (for α) or Index B (for β)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

α

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

4

4

5

6

7

8

9

10

12

13

15

β

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

2

2

2

3

3

3

3

4

4

4

6

Index A (for α) or Index B (for β)

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

α

17

20

22

25

28

32

36

40

45

50

56

63

71

80

90

101

113

127

144

162

182

203

226

255

255

β

6

7

7

8

8

9

9

10

10

11

11

12

12

13

13

14

14

15

15

16

16

17

17

18

18

4. The method of claim 1 , wherein the following equations are used to compute the filtered sample values at a second position from the block boundary on either side, denoted P 1 and Q 1 , for a luminance component:

P 1 =p 1 +Clip(− C 0 ,C 0,( p 2 +( p 0 +q 0 )>>1−( p 1 <<1)>>1)

Q 1 =q 1 +Clip(− C 0 ,C 0,( q 2 +( p 0 +q 0 )>>1−( q i <<1))>>1).

5. The method of claim 4 , wherein the maximum change in the value of the samples that neighbour the block boundary, p o and q o , due to the filtering process for chrominance components is computed as

C=C 0+1.

6. The method of claim 2 , wherein two offset parameter values are added to the average QP value, QP av , in order to compute the indices that are used to address tables of the ALPHA (α) and BETA (β) activity threshold values, such that

Index A =Clip( QP min ,QP max ,QP av +Filter_Offset — A )

Index B =Clip( QP min ,QP max ,QP av +Filter_Offset — B ).

7. The method of claim 4 , wherein the value of the C0 parameter used for clipping the change in the sample values is computed using a value of Index A of the indicies to address the table of C0 values.

8. A method of line-based, one-dimensional, spatial filtering of reconstructed samples to minimise coding artifacts introduced at a block boundary in a block-based video encoder and/or decoder, the method having the steps of checking, by the video decoder, content activity on every line of samples belonging to the boundary to be filtered and determining by the video decoder, whether the filtering process will modify the sample values on said line of samples based on content activity thresholds that are dependent on a quantization parameter and determined using a filter offset parameter and, if so, filtering, by the video decoder, the samples when a filtering strength, Bs, is not equal to zero, wherein Bs is calculated by: determining that at least one neighboring block across the block boundary is not intra-coded, wherein the at least one neighboring block is not intra-coded when the at least one neighboring block contains at least one non-zero coefficient and determining that Bs is not equal to zero when the at least one neighboring block contains the at least one non-zero coefficient.

Assignments (4)
CHANGE OF NAME Recorded Apr 1, 2015
From: SCIENTIFIC-ATLANTA VANCOUVER COMPANY
To: CISCO SYSTEMS CO.
Reel/Frame 035354/0084 →
CHANGE OF NAME Recorded Apr 1, 2015
From: CISCO SYSTEMS CO.
To: CISCO SYSTEMS CANADA CO.
Reel/Frame 035360/0306 →
MERGER AND CHANGE OF NAME Recorded May 25, 2007
From: UB VIDEO INC.
To: SCIENTIFIC-ATLANTA VANCOUVER COMPANY
Reel/Frame 019341/0775 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2005
From: JOCH, ANTHONY; AU, JAMES; LIN, YU-SHENG BRANDON
To: UB VIDEO INC.
Reel/Frame 017235/0726 →
Continuity (3)
Continuation 10310059 · Dec 5, 2002
Division 10300849 · Nov 21, 2002
Related Publication 20060227869A1 · Oct 12, 2006