US2022007060A1PendingUtilityA1

System and method for reducing blocking artifacts and providing improved coding efficiency

Assignee: ARRIS ENTPR LLCPriority: Oct 2, 2017Filed: Sep 10, 2021Published: Jan 6, 2022
Est. expiryOct 2, 2037(~11.2 yrs left)· nominal 20-yr term from priority
H04N 19/82H04N 19/86H04N 19/14H04N 19/176H04N 19/117H04N 19/70H04N 19/96H04N 19/182H04N 19/119
68
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system and method of reducing blocking artifacts and providing enhanced coding efficiency based, as least in part, upon evaluation of relative smoothness of signals at a coding boundary. In some embodiments, a boundary threshold difference can be established beyond which it is determined that the difference is representative of a natural or intended boundary and filtering can be applied to those boundaries having differences below the boundary threshold difference. In some further embodiments, the ramps of the signal across the boundary can be evaluated to determine whether weak or strong filtering might be appropriate. In some further embodiments, weak filtering can be performed that reduces blocking artifacts, improves coding efficiency, but does not distort ramp signals across the boundary.

Claims

exact text as granted — not AI-modified
1 - 16 . (canceled) 
     
     
         17 . A method for decoding video data comprising:
 (a) receiving a bitstream indicating how a coding tree unit was partitioned into coding units according to a partitioning structure that allows root nodes to be partitioned with quadtree partitioning and/or with symmetric binary partitioning, wherein a root node is recursively partitionable using at least one of said symmetric binary partitioning and said quadtree partitioning;   (b) parsing said bitstream to determine how the coding tree unit was partitioned using quadtree partitioning, and/or said symmetric binary partitioning;   (c) parsing said bitstream to determine a symmetry of said partitioning, to determine if at least one of said quadtree partitioning and/or said symmetric binary partitioning was used to partition a parent coding unit into child nodes, wherein said symmetric binary partitioning splits a parent node of said parent coding unit into two child nodes of equal size that are rectangular in shape, and quadtree partitioning splits a parent node in both a horizontal partition and a vertical partition resulting in four equally sized partitions that are square in shape;   (d) identifying each of the child nodes within each respective parent coding unit, wherein a node can be recursively partitioned into smaller nodes;   (e) decoding at least one boundary of the identified child nodes based upon, acquiring first pixel information regarding pixels on a first side of a coding boundary consistent with said partitioning structure;
 (ii) acquiring second pixel information regarding pixels on a second side of said coding boundary; 
 (iii) determining a strength of said boundary based at least in part on said first pixel information and said second pixel information; 
 (iv) determining a desired deblocking filter based, at least in part, on said boundary strength; 
 (v) using the determined deblocking filter to determine new first pixel information and new second pixel information based at least in part on said boundary strength; 
   wherein said step of using the determined deblocking filter to determine said new first pixel information and said new second pixel information is based upon a selection between a weak filter and a strong filter, wherein said weak filter is different than said strong filter.   
     
     
         18 . The method of  claim 17  wherein said step of using the determined deblocking filter is further based upon, at least in part, the difference of a first integer value times a difference between pixel values immediately adjacent to said boundary and a second integer value times a difference between pixel values that are one pixel away from said boundary plus a fixed value. 
     
     
         19 . The method of  claim 18  wherein the difference of the first integer value times a difference between pixel values immediately adjacent to said boundary and the second integer value times a difference between pixel values that are one pixel away from said boundary plus a fixed value is right shifted by 4. 
     
     
         20 . The method of  claim 19  wherein said fixed value is 8. 
     
     
         21 . The method of  claim 17  wherein said step of using the determined deblocking filter to determine said new first pixel information and said new second pixel information is based, at least in part, on a filter having the form (1, 5, 3, −1)/8. 
     
     
         22 . The method of  claim 17  wherein said step of using the determined deblocking filter to determine said new first pixel information and said new second pixel information is based, at least in part, on a filter having the form (4, 9, 1, 3, −1)/16. 
     
     
         23 . The method of  claim 17  decoding at least one of said new first pixel information and said new second pixel information. 
     
     
         24 . One or more computer-readable memory or storage devices storing encoded data as part of a bitstream, the encoded data being organized to facilitate decoding by a video decoder performing operations, the video decoder being implemented using memory and one or more processing units, the operations comprising:
 (a) storing said bitstream indicating how a coding tree unit was partitioned into coding units according to a partitioning structure that allows root nodes to be partitioned with quadtree partitioning and/or with symmetric binary partitioning, wherein a root node is recursively partitionable using at least one of said symmetric binary partitioning and said quadtree partitioning;   (b) wherein said bitstream can be parsed to determine how the coding tree unit was partitioned using quadtree partitioning, and/or said symmetric binary partitioning;   (c) wherein said bitstream can be parsed to determine a symmetry of said partitioning, to determine if at least one of said quadtree partitioning and/or said symmetric binary partitioning was used to partition a parent coding unit into child nodes, wherein said symmetric binary partitioning splits a parent node of said parent coding unit into two child nodes of equal size that are rectangular in shape, and quadtree partitioning splits a parent node in both a horizontal partition and a vertical partition resulting in four equally sized partitions that are square in shape;   (d) wherein each of the child nodes within each respective parent coding unit can be identified, wherein a node can be recursively partitioned into smaller nodes;   (e) wherein at least one boundary of the identified child nodes is encoded in the bitstream based upon,
 (i) acquiring first pixel information regarding pixels on a first side of a coding boundary consistent with said partitioning structure; 
 (ii) acquiring second pixel information regarding pixels on a second side of said coding boundary; 
 (iii) determining a strength of said boundary based at least in part on said first pixel information and said second pixel information; 
 (iv) determining a desired deblocking filter based, at least in part, on said boundary strength; 
 (v) using the determined deblocking filter to determine new first pixel information and new second pixel information based at least in part on said boundary strength; 
   wherein said step of using the determined deblocking filter to determine said new first pixel information and said new second pixel information is based upon a selection between a weak filter and a strong filter, wherein said weak filter is different than said strong filter.   
     
     
         25 . The one or more computer-readable memory or storage devices storing encoded data as part of a bitstream of  claim 24  wherein said step of using the determined deblocking filter is further based upon, at least in part, the difference of a first integer value times a difference between pixel values immediately adjacent to said boundary and a second integer value times a difference between pixel values that are one pixel away from said boundary plus a fixed value. 
     
     
         26 . The one or more computer-readable memory or storage devices storing encoded data as part of a bitstream of  claim 25  wherein the difference of the first integer value times a difference between pixel values immediately adjacent to said boundary and the second integer value times a difference between pixel values that are one pixel away from said boundary plus a fixed value is right shifted by 4. 
     
     
         27 . The one or more computer-readable memory or storage devices storing encoded data as part of a bitstream of  claim 26  wherein said fixed value is 8. 
     
     
         28 . The one or more computer-readable memory or storage devices storing encoded data as part of a bitstream of  claim 24  wherein said step of using the determined deblocking filter to determine said new first pixel information and said new second pixel information is based, at least in part, on a filter having the form (1, 5, 3, −1)/8. 
     
     
         29 . The one or more computer-readable memory or storage devices storing encoded data as part of a bitstream of  claim 24  wherein said step of using the determined deblocking filter to determine said new first pixel information and said new second pixel information is based, at least in part, on a filter having the form (4, 9, 1, 3, −1)/16. 
     
     
         30 . The one or more computer-readable memory or storage devices storing encoded data as part of a bitstream of  claim 24  decoding at least one of said new first pixel information and said new second pixel information. 
     
     
         31 . A method for encoding video data comprising:
 (a) providing a bitstream indicating how a coding tree unit was partitioned into coding units according to a partitioning structure that allows root nodes to be partitioned with quadtree partitioning and/or with symmetric binary partitioning, wherein a root node is recursively partitionable using at least one of said symmetric binary partitioning and said quadtree partitioning;   (b) wherein said bitstream can be parsed to determine how the coding tree unit was partitioned using quadtree partitioning, and/or said symmetric binary partitioning;   (c) wherein said bitstream can be parsed to determine a symmetry of said partitioning, to determine if at least one of said quadtree partitioning and/or said symmetric binary partitioning was used to partition a parent coding unit into child nodes, wherein said symmetric binary partitioning splits a parent node of said parent coding unit into two child nodes of equal size that are rectangular in shape, and quadtree partitioning splits a parent node in both a horizontal partition and a vertical partition resulting in four equally sized partitions that are square in shape;   (d) wherein each of the child nodes within each respective parent coding unit can be identified, wherein a node can be recursively partitioned into smaller nodes;   (e) wherein at least one boundary of the identified child nodes is encoded in the bitstream based upon,
 (i) acquiring first pixel information regarding pixels on a first side of a coding boundary consistent with said partitioning structure; 
 (ii) acquiring second pixel information regarding pixels on a second side of said coding boundary; 
 (iii) determining a strength of said boundary based at least in part on said first pixel information and said second pixel information; 
 (iv) determining a desired deblocking filter based, at least in part, on said boundary strength; 
 (v) using the determined deblocking filter to determine new first pixel information and new second pixel information based at least in part on said boundary strength; 
   wherein said step of using the determined deblocking filter to determine said new first pixel information and said new second pixel information is based upon a selection between a weak filter and a strong filter, wherein said weak filter is different than said strong filter.   
     
     
         32 . The method of  claim 31  wherein said step of using the determined deblocking filter is further based upon, at least in part, the difference of a first integer value times a difference between pixel values immediately adjacent to said boundary and a second integer value times a difference between pixel values that are one pixel away from said boundary plus a fixed value. 
     
     
         33 . The method of  claim 32  wherein the difference of the first integer value times a difference between pixel values immediately adjacent to said boundary and the second integer value times a difference between pixel values that are one pixel away from said boundary plus a fixed value is right shifted by 4. 
     
     
         34 . The method of  claim 33  wherein said fixed value is 8. 
     
     
         35 . The method of  claim 31  wherein said step of using the determined deblocking filter to determine said new first pixel information and said new second pixel information is based, at least in part, on a filter having the form (1, 5, 3, −1)/8. 
     
     
         36 . The method of  claim 31  wherein said step of using the determined deblocking filter to determine said new first pixel information and said new second pixel information is based, at least in part, on a filter having the form (4, 9, 1, 3, −1)/16. 
     
     
         37 . The method of  claim 31  decoding at least one of said new first pixel information and said new second pixel information.

Join the waitlist — get patent alerts

Track US2022007060A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.