Method of removing blocking artifacts in a coding system of a moving picture
Abstract
A method of coding a moving picture reduces blocking artifacts. The method includes defining pixel sets S0, S1, S2 around a block boundary, selectively determining a deblocking mode as a default mode or a DC offset mode depending on the degree of blocking artifacts. If the default mode is selected, frequency information is obtained around the block boundary per pixel using a 4-point DCT kernel, for example, a magnitude of a discontinuous component belonging to the block boundary is replaced with a minimum magnitude of discontinuous components belonging to the surroundings of the block boundary in the frequency domain and the replacing step is applied to the spatial domain. If the DC offset mode is selected and a determination is made to perform DC offset mode, the blocking artifacts in a smooth region are removed in the DC offset mode.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method for removing blocking artifacts in a coding system of a moving picture comprising the steps of:
determining a plurality of pixel sets around a block boundary; selecting one of a first mode and a second mode as a deblocking mode based on a degree of blocking artifacts; performing an analysis, if the first mode is selected, comprising,
obtaining frequency information for each of the plurality of pixel sets,
replacing a magnitude of at least one discontinuous component in the frequency domain of a selected pixel set of the plurality of pixel sets belonging to the block boundary with a magnitude of at least one corresponding discontinuous component belonging to a replacement pixel set of the plurality of pixel sets near the block boundary, and
applying the replaced frequency information of the selected pixel set to the spatial domain to remove the blocking artifacts; and
removing the blocking artifacts in the second mode, if the second mode is selected and a second mode condition is satisfied.
2. The method as claimed in claim 1 , wherein the magnitude of the discontinuous component of the selected pixel set is replaced with a minimum value of a magnitude of discontinuous components of one of a first pixel set and a second pixel set when the selected pixel set is located across the block boundary and the first and second pixel sets are located within a block adjacent the block boundary.
3. The method of claim 1 , further comprising determining a mode decision value, wherein the second mode is selected if the mode decision value is greater than a first threshold value.
4. The method as claimed in claim 3 , wherein mode decision value is determined based on the following equation:
mode decision value=φ(v 0 −v 1 )+φ(v 1 −v 2 )+φ(v 2 −v 3 )+φ(v 3 −v 4 )+φ(v 4 −v 5 )+φ(v 5 −v 1 )+φ(v 7 −v 8 )+φ(v 8 −v 9 ),
wherein φ(γ)=1 when |γ|≦ a second threshold value and φ(γ)=0 otherwise, and wherein v 0 −v 9 are boundary pixel values.
5. The method as claimed in claim 1 , wherein the second mode condition is satisfied when an absolute value of a maximum data value minus a minimum data value in block boundary pixels is smaller than 2QP, wherein the maximum data value=MAX(v 1 , v 2 , v 3 , v 4 , v 5 , v 6 , v 7 , v 8 ), the minimum data value=MIN(v 1 , v 2 , v 3 , v 4 , v 5 , v 6 , v 7 , v 8 ), QP is the quantization parameter of a block adjacent the block boundary and v 1 −v 8 are pixels.
6. The method as claimed in claim 1 , wherein the second mode performs low pass filtering to remove the blocking artifacts.
7. The method as claimed in claim 1 , wherein the deblocking filtering in the default mode is performed by replacing the magnitude of the discontinuous component of pixels v 4 and v 5 that sandwich the block boundary with v 4 ′ and v 5 ′, according to the following equation:
v 4 ′=v 4 −d
v 5 ′=v 5 +d
d=CLIP(c 2 .(a 3,0 ′−a 3,0 )//c 3 ,0,(v 4 −v 5 )/2)*δ(|a 3,0 |<QP)
a 3,0 ′=SIGN(a 3,0 )*MIN(|a 3,0 |,|a 3,1 |,|a 3,2 |)
a 3,0 =([c 1 −c 2 c 2 −c 1 ]*[v 3 v 4 v 5 v 6 ] T )//c 3
a 3,1 =([c 1 −c 2 c 2 −c 1 ]*[v 1 v 2 v 3 v 4 ] T )//c 3
a 3,2 =([c 1 −c 2 c 2 −c 1 ]*[v 5 v 6 v 7 v 8 ] T )//c 3 ,
where QP is the quantization parameter of the block containing the pixel v 5 , values c 1 , c 2 , c 3 are kernel constants used in a DCT, and values of a 3,0 , a 3,1 , a 3,2 are the discontinuous component in each of the plurality of pixel sets, respectively.
8. The method as claimed in claim 7 , wherein c 1 and c 2 are approximated to an integer and c 3 is approximated to a multiple of 2, wherein the DCT is a 4-point DCT used to determine the frequency information, and wherein a 3,0 , a 3,1 , a 3,2 are evaluated from an inner product of the DCT kernel and the selected pixel set being S0, a first pixel set S1 and a second pixel set S2.
9. The method as claimed in claim 7 , wherein |a 3,0 |<QP prevents over-smoothing.
10. The method as claimed in claim 1 , further comprising performing the deblocking filtering process around horizontal and vertical block boundaries in a frame.
11. The method of claim 1 , wherein the removing blocking artifacts in the second mode satisfies the following equation:
v
n
=
∑
4
k
=
-
4
b
k
·
p
n
+
k
,
1
≤
n
≤
8
P m =(|v 1 −v 0 <QP)?v 0 :v 1 ,
if m<1;
v m , if 1≦m≦8;
(|v 8 −v 9 |<QP) v 9 :v 8 , if m>8;
{b k :−4≦k≦4}={1,1,2,2,4,2,2,1,1}//16,
where v 0 −v 9 are boundary pixels, QP is the quantization parameter of a block adjacent the block boundary, and v m is an adjusted pixel value.
12. The method of claim 1 , wherein the replacement pixel set contains a minimum magnitude of the at least one corresponding discontinuous component.
13. The method of claim 1 , wherein the first mode is the default mode and the second mode is the DC offset mode, and wherein each of the plurality of pixel sets has four pixels.
14. A method for removing blocking artifacts in a coding system comprising:
determining at least pixel sets S0, Sl, S2 around a block boundary; selecting one of a default mode and a DC offset mode as a deblocking mode based on an amount of blocking artifacts; deblocking filtering of pixels adjacent the block boundary if the default mode is selected; and removing artifacts in the DC offset mode, if the DC offset mode is selected and a DC offset mode condition is satisfied, wherein the artifacts are removed in the DC offset mode according to the following equation:
v n = ∑ 4 k = - 4 b k · p n + k , 1 ≤ n ≤ 8 P m =(|v 1 −v 0 |<QP)?v 0 :v 1 ,
if m<1; v m , if 1≦m≦8; (|v 8 −v 9 |<QP) v 9 :v 8 , if m>8; {b k :−4≦k≦4}={1,1,2,2,4,2,2,1,1}//16,
wherein v 0 −v 9 are boundary pixels, QP is the quanatation parameter of a block adjacent the block boundary, and v n is an adjusted pixel value.
15. The method of claim 14 , wherein the deblocking filtering step comprises:
obtaining frequency information for each of the plurality of pixel sets S0, S1, S2; replacing a magnitude of at least one discontinuous component in the frequency domain of a selected pixel set S0 of the plurality of pixel sets belonging to the block boundary with a magnitude of at least one corresponding discontinuous component belonging to a replacement pixel set S1, S2 of the plurality of pixel sets near the block boundary; and applying the replaced frequency information of the selected pixel set S0 to the spatial domain to remove the blocking artifacts.
16. The method of claim 14 , further comprising determining a mode decision value, wherein the DC offset mode is selected if the mode decision value is greater than a first threshold value, wherein mode decision value is determined based on the following equation:
mode decision value=φ(v 0 −v 1 )+φ(v 1 −v 2 )+φ(v 2 −v 3 )+φ(v 3 −v 4 )+φ(v 4 −v 5 )+φ(v5−v 1 )+φ(v 7 −v 8 )+φ(v 8 −v 9 ),
wherein φ(γ)=1 when |γ|≦ a second threshold value and φ(γ)=0 otherwise, and wherein v 0 −v 9 are boundary pixel values.
17. The method of claim 14 , wherein the DC offset mode condition is satisfied when an absolute value of a maximum data value minus a minimum data value in block boundary pixels is smaller than 2QP, wherein the maximum data value=MAX(v 1 , v 2 , v 3 , v 4 , v 5 , v 6 , v 7 , v 8 ), the minimum data value=MIN(v 1 , v 2 , v 3 , v 4 , v 5 , v 6 , v 7 , v 8 ), QP is the quantization parameter of a block adjacent the block boundary and v 1 −v 8 are the block boundary pixels.
18. The method of claim 14 , wherein the deblocking filtering in the default mode is performed by replacing the magnitude of the discontinuous component of pixels v 4 and v 5 sandwiching the block boundary with v 4 ′ and v 5 ′, according to the following equation:
v 4 ′=v 4 −d
v 5 ′=v 5 +d
d=CLIP(c 2 .(a 3,0 ′−a 3,0 )//c 3 ,0,(v 4 −v 5 )/2)*δ(|a 3,0 |<QP)
a 3,0 ′=SIGN(a 3,0 )*MIN(|a 3,0 |,|a 3,1 |,|a 3,2 |)
a 3,0 =([c 1 −c 2 c 2 −c 1 ]*[v 3 v 4 v 5 v 6 ] T )//c 3
a 3,1 =([c 1 −c 2 c 2 −c 1 ]*[v 1 v 2 v 3 v 4 ] T )//c 3
a 3,2 =([c 1 −c 2 c 2 −c 1 ]*[v 5 v 6 v 7 v 8 ] T )//c 3 ,
where QP is the quantization parameter of the block containing the pixel v 5 , values c 1 , c 2 , c 3 are kernel constants used in a 4-point DCT, and values a 3,0 , a 3,1 ,a 3,2 are based on a simple inner product of the DCT kernel and the selected pixel set S0, a first pixel set S1 and the second pixel set S2.
19. The method of claim 14 , further comprising performing the determining through removing steps for each horizontal and vertical block boundaries in a frame.
20. A method for removing blocking artifacts in a coding system of a moving picture, the method comprising:
determining a plurality of pixel sets around a block boundary; selecting one of a first mode and a second mode as a deblockinq mode based on a degree of blocking artifacts; performing an analysis, if the first mode is selected, the analysis including,
obtaining frequency information for each of the plurality of pixel sets,
replacing a magnitude of at least one discontinuous component in the frequency domain of a selected pixel set of the plurality of pixel sets belonging to the block boundary with a magnitude of at least one corresponding discontinuous component belonging to a replacement pixel set of the plurality of pixel sets near the block boundary if the magnitude of the at least one discontinuous component is less than a quantization parameter, and
applying the replaced frequency information of the selected pixel set to the spatial domain to remove the blocking artifacts; and
removing the blocking artifacts in the second mode, if the second mode is selected and a second mode condition is satisfied.
21. The method of claim 20, wherein the magnitude of the discontinuous component of the selected pixel set is replaced with a minimum value of a magnitude of discontinuous components of one of a first pixel set and a second pixel set when the selected pixel set is located across the block boundary and the first and second pixel sets are located within a block adjacent the block boundary.
22. The method of claim 20, further comprising determining a mode decision value, wherein the second mode is selected if the mode decision value is greater than a first threshold value.
23. The method of claim 22, wherein mode decision value is determined based on the following equation:
mode decision value=φ(v 0 −v 1 )+φ(v 1 −v 2 )+φ(v 2 −v 3 )+φ(v 3 −v 4 )+φ(v 4 −v 5 )+φ(v 5 −v 1 )+φ(v 7 −v 8 )+φ(v 8 −v 9 ),
wherein φ(γ)=1 when |γ|≦ a second threshold value and φ(γ)=0 otherwise, wherein v 0 −v 9 are boundary pixel values, and wherein φ(γ) is a function generating 1 or 0 according to |γ| and γ is a variable denoting a result of substraction of two given boundary pixel values.
24. The method of claim 20, wherein:
the second mode condition is satisfied when an absolute value of a maximum data value minus a minimum data value in block boundary pixels is smaller than 2QP; and the maximium data value=MAX(v 1 , v 2 , v 3 , v 4 , v 5 , v 6 , v 7 , v 8 ), the minimum data value=MIN(v 1 , v 2 , v 3 , v 4 , v 5 , v 6 , v 7 , v 8 ), QP is the quantization parameter of a block adjacent the block boundary and v 1 −v 8 are pixels.
25. The method of claim 20, wherein the second mode performs low pass filtering to remove the blocking artifacts.
26. The method of claim 20, wherein the deblocking filtering in the default mode is performed by replacing the magnitude of the discountinuous component of pixels v 4 and v 5 that sandwich the block boundary with v 4 ′ and v 5 ′, according to the following equation:
v 4 ′=v 4 −d
v 5 ′=v 5 +d
d=CLIP(c 2 ·(a 3,0 ′−a 3,0 )//c 3 ,0,(v 4 −v 5 )/2)*δ(|a 3,0 |<QP)
a 3,0 ′=SIGN(a 3,0 )*MIN(|a 3,0 |,|a 3,1 |,|a 3,2 |)
a 3,0 =([c 1 −c 2 c 2 −c 1 ]*[v 3 v 4 v 5 v 6 ] T )//c 3
a 3,1 =([c 1 −c 2 c 2 −c 1 ]*[v 1 v 2 v 3 v 4 ] T )//c 3
a 3,2 =([c 1 −c 2 c 2 −c 1 ]*[v 5 v 6 v 7 v 8 ] T )//c 3
where QP is the quantization parameter of the block containing the pixel v 5 , values c 1 , c 2 , c 3 are kernel constants used in a DCT, and values of a 3,0 , a 3,1 , a 3,2 are the discontinous component in each of the plurality of pixel sets, respectviely, and
wherein d is a variable used to calculate v 4 ′ and v 5 ′ and denotes a result of a function CLIP (x, p, q) where x, p, and q are integers,
wherein the function CLIP (x, p, q) clips x to a value between p and q,
wherein δ(condition) is a function generating 1 if the “condition” is true and generating 0 if the “condition” is not true,
wherein T denotes a transpose of vector matrix, and
wherein v 1 , v 2 , v 6 , and v 7 denote boundary pixel values.
27. The method of claim 26, wherein:
c 1 and c 2 are approximated to an intenger and c 3 is approximated to a multiple of 2; the DCT is a 4-point DCT used to determine the frequency information; and a 3,0 , a 3,1 , a 3,2 are evaluated from an inner product of the DCT kernel and the selected pixel set being S0, a first pixel set S1 and a second pixel set S2.
28. The method of claim 26, wherein |a 3,0 |<QP prevents over-smoothing.
29. The method as claimed in claim 20, further comprising performing the deblocking filtering process around horizontal and vertical block boundaries in a frame.
30. The method of claim 20, wherein the removing blocking artifacts in the second mode satisfies the following equation:
{b k ; −4≦k≦4}={1,1,2,2,4,2,2,1,1}//16
where v 0 -v 9 are boundary pixels, QP is the quantization parameter of a block adjacent the block boundary, and v n is an adjusted pixel value, wherein b k and p n+k are variables used to calculate the adjusted pixel value v n where n is an integer among 1, 2, 3, 4, 5, 6, 7, and 8, wherein b k changes according to a value of k where k is one of −4, −3, −2, −1, 0, 1, 2, 3, 4, wherein p n+k is decided according to p m where m=n+k and m is an integer, wherein P m is one of boundary pixels values v 0 to v 9 according to given conditions of (|v 1 −v 0 |<QP) and (|v 8 −v 9 |<QP) and a value of m.
31. The method of claim 20, wherein the replacement pixel set contains a minimum magnitude of the at least one corresponding discontinuous component.
32. The method of claim 20, wherein:
the first mode is the default mode and the second mode is the DC offset mode; and each of the plurality of pixel sets has four pixels.
33. A method for removing blocking artifacts in a coding system comprising:
determining at least pixel sets S0, S1, S2 around a block boundary; selecting one of a default mode and a DC offset mode as a deblocking mode based on an amount of blocking artifacts; deblocking filtering of pixels adjacent the block boundary based on frequency information of the pixels adjacent to the block boundry, if the default mode is selected; and removing artifacts in the DC offset mode, if the DC offset mode is selected and a DC offset mode condition is satisfied, wherein the artifacts are removed in the DC offset mode according to the following equation:
{b k ; −4≦k≦4}={1,1,2,2,4,2,2,1,1}//16
wherein v 0 -v 9 are boundary pixels, QP is the quantization parameter of a block adjacent the block boundary, and v n is an adjusted pixel value, wherein b k and p n+k are variables used to calculate the adjusted pixel value v n where n is an integer among 1, 2, 3, 4, 5, 6, 7, and 8, wherein b k changes according to a value of k where k is one of −4, −3, −2, −1, 0, 1, 2, 3, 4, wherein p n+1 is decided according to p m where m=n+1 and m is an integer, wherein P m is one of boundary pixels values v 0 to v 9 according to given conditions of (|v 1 −v 0 |<QP) and (|v 8 −v 9 |<QP) and a value of m.
34. The method of claim 33, wherein the deblocking filtering step comprises:
obtaining frequency information for each of the plurality of pixel sets S0, S1, S2; replacing a magnitude of at least one discontinuous component in the frequency domain of a selected pixel set S0 of the plurality of pixel sets belonging to the block boundary with a magnitude of at least one corresponding discontinuous component belonging to a replacement pixel set S1, S2 of the plurality of pixel sets near the block boundary; and applying the replaced frequency information of the selected pixel set S0 to the spatial domain to remove the blocking artifacts.
35. The method of claim 33, further comprising determining a mode decision value, wherein the DC offset mode is selected if the mode decision value is greater than a first threshold value, wherein mode decision value is determined based on the following equation:
mode decision value=φ(v 0 −v 1 )+φ(v 1 −v 2 )+φ(v 2 −v 3 )+φ(v 3 −v 4 )+φ(v 4 −v 5 )+φ(v 5 −v 1 )+φ(v 7 −v 8 )+φ(v 8 −v 9 ),
wherein φ(γ)=1 when |γ|≦ a second threshold value and φ(γ)=0 otherwise, wherein v 0 -v 9 are boundary pixel values, and wherein φ(γ) is a function generating 1 or 0 according to |γ| and γ is a variable denoting a result of substraction of two given boundary pixel values.
36. The method of claim 33, wherein:
the DC offset mode condition is satisfied when an absolute value of a maximum data value minus a minimum data value in block boundary pixels is smaller than 2QP; and the maximum data value=MAX(v 1 , v 2 , v 3 , v 4 , v 5 , v 6 , v 7 , v 8 ), the minimum data value=MIN(v 1 , v 2 , v 3 , v 4 , v 5 , v 6 , V 7 , v 8 ), QP is the quantization parameter of a block adjacent the block boundary and v 1 -v 8 are the block boundary pixels.
37. The method of claim 33, wherein the deblocking filtering in the default mode is performed by replacing the magnitude of the discontinuous component of pixels v 4 and v 5 sandwiching the block boundary with v 4 ′ and v 5 ′, according to the following equation:
v 4 ′=v 4 −d
v 5 ′=v 5 +d
d=CLIP(c 2 ·(a 3,0 ′−a 3,0 )//c 3 ,0,(v 4 −v 5 )/2)*δ(|a 3,0 |<QP)
a 3,0 ′=SIGN(a 3,0 )*MIN(|a 3,0 |,|a 3,1 |,|a 3,2 |)
a 3,0 =([c 1 −c 2 c 2 −c 1 ]*[v 3 v 4 v 5 v 6 ] T )//c 3
a 3,1 =([c 1 −c 2 c 2 −c 1 ]*[v 1 v 2 v 3 v 4 ] T )//c 3
a 3,2 =([c 1 −c 2 c 2 −c 1 ]*[v 5 v 6 v 7 v 8 ] T )//c 3 ,
where QP is the quantization parameter of the block containing the pixel v 5 , values c 1 , c 2 , c 3 are kernel constants used in a 4-point DCT, and values of a 3,0 , a 3,1 , a 3,2 , are based on a simple inner product of the DCT kernel and the selected pixel set S0, a first pixel set S1 and the second pixel set S2, and
wherein d is a variable used to calculate v 4 ′ and v 5 ′ and denotes a result of a function CLIP (x, p, q) where x, p, and q are integers,
wherein the function CLIP (x, p, q) clips x to a value between p and q,
wherein δ(condition) is a function generating 1 if the “condition” is true and generating 0 if the “condition” is not true,
wherein T denotes a transpose of vector matrix, and
wherein v 1 , v 2 , v 6 , and v 7 denote boundary pixel values.
38. The method of claim 33, further comprising performing the determining through removing steps for each horizontal and vertical block boundaries in a frame.
39. The method of claim 20, wherein the method is performed by a smart phone.
40. The method of claim 33, wherein the method is performed by a smart phone.Join the waitlist — get patent alerts
Track USRE45135E — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.