USRE45135EExpiredUtility

Method of removing blocking artifacts in a coding system of a moving picture

Assignee: KIM HYUN MUNPriority: Sep 9, 1997Filed: Jul 6, 2011Granted: Sep 16, 2014
Est. expirySep 9, 2017(expired)· nominal 20-yr term from priority
H04N 19/134H04N 19/117H04N 19/14H04N 19/80H04N 19/48H04N 19/86H04N 19/182
58
PatentIndex Score
0
Cited by
60
References
40
Claims

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-modified
What 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.