IP Library › Granted Patent US 11,197,032
Granted Patent B2
US 11,197,032 · App. 16/642,748 · Granted Dec 7, 2021

Asymmetric deblocking in a video encoder and/or video decoder

Inventors: Kenneth Andersson (Gävle, SE); Jack Enhorn (Kista, SE); Zhi Zhang (Solna, SE)
Assignee: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
H04N19/865H04N19/176H04N19/86H04N19/96
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 11,197,032
App. No.
16/642,748
Granted
Dec 7, 2021
Kind
B2
Abstract

An asymmetric deblocking method for deblocking a boundary between a P block and a Q block such that 5 samples within the P block and 7 or 3 samples within the Q block are modified. The method includes determining a value refP based on at least p5, determining a value refQ based on at least qx, wherein qx is q3 or q7; determining a value refMiddle based on at least p0 and q0, wherein p0 is directly adjacent to the boundary and q0 is directly adjacent to the boundary; performing a linear interpolation between refP and refMiddle; and performing a linear interpolation between refQ and refMiddle.

Claims (103)

1. An asymmetric deblocking method for deblocking a boundary between a P block of samples and a Q block of samples such that samples within the P block and samples within the Q block are modified, the method comprising:

determining a value refP based on at least p5, wherein p5 is a sample within the P block and there are five other samples (p0, p1, p2, p3, and p4) within the P block that separate p5 from the boundary;

determining a value refQ based on at least qx, wherein qx is a sample within the Q block and either i) there are three other samples (q0, q1, and q2) within the Q block that separate qx from the boundary such that qx=q3, in which case refQ is equal to (q2+qx+1)>>1, or ii) there are seven other samples (q0, q1, q2, q3, q4, q5, and q6) within the Q block that separate qx from the boundary such that qx=q7, in which case refQ is equal to: (q6+qx+1)>>1;

determining a value refMiddle based on at least p0 and q0, wherein p0 is directly adjacent to the boundary and q0 is directly adjacent to the boundary, wherein i) in the case that qx=q3, refMiddle is equal to (p3+p2+p1+p0+q0+q1+q2+q3+4) >>3 or ii) in the case that qx=7, refMiddle is equal to (p5+p4+p3+p2+2*(p1+p0+q0 +q1)+q2+q3+q4+q5+8) >>4);

performing a linear interpolation between refP and refMiddle; and

performing a linear interpolation between refQ and refMiddle.

2. The method of claim 1 , wherein

the boundary is a vertical boundary,

samples p0 to p5 are aligned in a row that is orthogonal to the vertical boundary, and

samples q0 to q3 or samples q0 to q6 are aligned in the row.

3. The method of claim 1 , wherein

the boundary is a horizontal boundary,

samples p0 to p5 are aligned in a column that is orthogonal to the horizontal boundary, and

samples q0 to q3 or samples q0 to q6 are aligned in the column.

4. The method of claim 1 , wherein performing the linear interpolation between refP and refMiddle comprises calculating p′(x)=(f(x)*refMiddle+(64-f(x))*refP+32) >>6, where x is 0 to 4, p′(x) is a filtered version of px, and f={58,45,32,19,6}.

5. The method of claim 4 , further comprising:

for x from 0 to 4, determining p″(x)=clip3(px+tcPx, px−tcPx, p′(x)), where tcPx is a clipping threshold, and

clip

⁢

⁢

3

⁢

(

x

,

y

,

z

)

=

{

x

;

z

<

x

y

;

z

>

y

z

;

otherwise

.

6. The method of claim 5 , wherein the clipping threshold is a quantization parameter (QP) dependent clipping threshold.

7. The method of claim 1 , wherein performing the linear interpolation between refQ and refMiddle comprises calculating q′(x)=(g(x)*refMiddle+(64-g(x))*refQ+32) >>6, where x is 0 to 6, q′(x) is a filtered version of qx, and g={59,50,41,32,23,14,5}.

8. The method of claim 7 , further comprising:

for x from 0 to 2, determining q″(x)=clip3(qx+tcQx, qx−tcQx, q′(x)), where tcQx is a clipping threshold, and

clip

⁢

⁢

3

⁢

(

x

,

y

,

z

)

=

{

x

;

z

<

x

y

;

z

>

y

z

;

otherwise

.

9. The method of claim 1 , wherein performing the linear interpolation between refP and refMiddle comprises calculating p′(x)=(f(x)*refMiddle+(64-f(x))*refP+32) >>6, where x is 0 to 4, p′(x) is a filtered version of px, and f={58,45,32,19,6}.

10. The method of claim 1 , wherein performing the linear interpolation between refQ and refMiddle comprises calculating q′(x)=(g(x)*refMiddle+(64-g(x))*refQ+32) >>6, where x is 0 to 2, q′(x) is a filtered version of q(x), and g={53,32,11}.

11. The method of claim 1 , wherein refP is equal to: (p5+p4+1)» 1.

12. The method of claim 1 , wherein

the P block is above or to the left of the Q block, or

the P block is below or to the right of the Q block.

13. The method of claim 1 , wherein

the P block has a size in a direction orthogonal to the boundary of 32 samples, and

the P block uses prediction sub-blocks.

14. The method of claim 13 , wherein

the Q block has a size in a direction orthogonal to the boundary of less than 32 samples.

15. The method of claim 13 , wherein

the Q block has a size in a direction orthogonal to the boundary of equal to or larger than 32 samples, and

the Q block does not uses sub-blocks.

16. The method of claim 1 , wherein

the P block has a size in a direction orthogonal to the boundary of 32 samples, and

the boundary is a horizontal coding tree unit (CTU) boundary.

17. A computer program product comprising a non-transitory computer readable medium storing a computer program comprising instructions which when executed by processing circuitry causes the processing circuitry to perform the method of claim 1 .

18. An apparatus for deblocking a boundary between a P block of samples and a Q block of samples such that samples within the P block and samples within the Q block are modified, the apparatus comprising:

processing circuitry; and

a memory, said memory containing instructions executable by said processing circuitry, whereby said apparatus is operative to:

determine a value refP based on at least p5, wherein p5 is a sample within the P block and there are five other samples (p0, p1, p2, p3, and p4) within the P block that separate p5 from the boundary;

determine a value refQ based on at least qx, wherein qx is a sample within the Q block and either i) there are three other samples (q0, q1, and q2) within the Q block that separate qx from the boundary such that qx=q3, in which case refQ is equal to (q2+qx+1)>>1, or ii) there are seven other samples (q0, q1, q2, q3, q4, q5, and q6) within the Q block that separate qx from the boundary such that qx=q7, in which case refQ is equal to: (q6+qx+1)>>1;

determine a value refMiddle based on at least p0 and q0, wherein p0 is directly adjacent to the boundary and q0 is directly adjacent to the boundary, wherein i) in the case that qx=q3, refMiddle is equal to (p3+p2+p1+p0+q0+q1+q2+q3+4) >>3 or ii) in the case that qx=7, refMiddle is equal to (p5+p4+p3+p2+2*(p1+p0+q0+q1)+q2+q3+q4+q5+8) >>4);

perform a linear interpolation between refP and refMiddle, thereby modifying samples within the P block; and

perform a linear interpolation between refQ and refMiddle, thereby modifying samples within the Q block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2020
From: ANDERSSON, KENNETH; ENHORN, JACK; ZHANG, ZHI
To: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Reel/Frame 052041/0239 →
Continuity (2)
Provisional Application 62757536 · Nov 8, 2018
Related Publication 20210152852A1 · May 20, 2021