IP Library Granted Patent US 10,491,923
Granted Patent B2
US 10,491,923 · App. 15/844,894 · Granted Nov 26, 2019

Directional 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 10,491,923
App. No.
15/844,894
Granted
Nov 26, 2019
Kind
B2
Abstract

Multiple directional filters are applied against lines of pixels associated with a video block to determine filtered noise values. Each directional filter uses a different direction for filtering lines of pixels. For example, for each pixel value of the video block along a line of pixels having a direction corresponding to a directional filter, a difference can be determined between the pixel value and a corresponding pixel value along the line of pixels and outside of the video block. A value for line of pixels is determined as the sum of the absolute values of each of the differences, and a filtered noise value is determined as the sum of the values for the lines of pixels. The directional filter used to determine a lowest one of the filtered noise values for the video block is then selected. The video block is filtered using the selected directional filter.

Claims (42)

1. A method for filtering a video block, the method comprising:

applying each of a plurality of directional filters to lines of pixels associated with the video block to determine filtered noise values by, for each of the lines of pixels, adding sums of absolute values of pixel gradients, wherein a pixel gradient represents a difference between a first pixel located at a first position within the video block along a line of pixels and a corresponding second pixel located at a second position outside of the video block along the line of pixels, wherein each directional filter of the plurality of directional filters uses a different direction for filtering the lines of pixels;

selecting, from the plurality of directional filters, a directional filter used to determine a lowest one of the filtered noise values for the video block; and

filtering the video block using the selected directional filter.

2. The method of claim 1 , wherein selecting the directional filter used to determine the lowest one of the filtered noise values for the video block comprises:

determining that two or more directional filters of the plurality of directional filters are used to determine a same lowest filtered noise value; and

selecting one of the two or more of the directional filters having a direction corresponding to an edge of the video block.

3. The method of claim 1 , wherein filtering the video block using the selected directional filter comprises:

applying the selected directional filter against each pixel value of each edge of the video block.

4. The method of claim 1 , wherein filtering the video block using the selected directional filter comprises:

storing one or more pixel values of the video block to a buffer; and

filtering the stored one or more pixel values within the buffer using the selected directional filter.

5. The method of claim 1 , wherein a direction of the selected directional filter is one of 0 degrees, 45 degrees, 90 degrees, or 135 degrees.

6. The method of claim 1 , wherein a length of the line of pixels against which the selected directional filter is applied is one of one-half of a Y-axis length of the video block or one-quarter of the Y-axis length of the video block.

7. An apparatus for filtering a video block, the apparatus comprising:

a processor configured to execute instructions stored in a non-transitory memory to:

apply each of a plurality of directional filters to lines of pixels associated with the video block to determine filtered noise values by, for each of the lines of pixels, adding sums of absolute values of pixel gradients, wherein a pixel gradient represents a difference between a first pixel located at a first position within the video block along a line of pixels and a corresponding second pixel located at a second position outside of the video block, wherein each directional filter of the plurality of directional filters uses a different direction for filtering the lines of pixels;

select, from the plurality of directional filters, a directional filter used to determine a lowest one of the filtered noise values for the video block; and

filter the video block using the selected directional filter.

8. The apparatus of claim 7 , wherein the instructions to select the directional filter used to determine the lowest one of the filtered noise values for the video block include instructions to:

determine that two or more directional filters of the plurality of directional filters are used to determine a same lowest filtered noise value; and

select one of the two or more of the directional filters having a direction that corresponds to an edge of the video block.

9. The apparatus of claim 7 , wherein the instructions to filter the video block using the selected directional filter include instructions to:

apply the selected directional filter against each pixel value of each edge of the video block.

10. The apparatus of claim 7 , wherein the instructions to filter the video block using the selected directional filter include instructions to:

store one or more pixel values of the video block to a buffer; and

filter the stored one or more pixel values within the buffer using the selected directional filter.

11. The apparatus of claim 7 , wherein a direction of the selected directional filter is one of 0 degrees, 45 degrees, 90 degrees, or 135 degrees.

12. The apparatus of claim 7 , wherein a length of the line of pixels against which the selected directional filter is applied is one of one-half of a Y-axis length of the video block or one-quarter of the Y-axis length of the video block.

13. A non-transitory computer-readable storage medium comprising processor-executable routines that, when executed by a processor, facilitate a performance of operations for filtering a video block, the operations comprising:

applying each of a plurality of directional filters to lines of pixels associated with the video block to determine filtered noise values by, for each of the lines of pixels, adding sums of absolute values of pixel gradients, wherein a pixel gradient represents a difference between a first pixel located at a first position within the video block along a line of pixels and a corresponding second pixel located at a second position outside of the video block, wherein each directional filter of the plurality of directional filters uses a different direction to filter one or more of the lines of pixels;

selecting, from the plurality of directional filters, a directional filter used to determine a lowest one of the filtered noise values for the video block; and

filtering the video block using the selected directional filter.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the operations for selecting the directional filter used to determine the lowest one of the filtered noise values for the video block comprise:

determining that two or more directional filters of the plurality of directional filters are used to determine a same lowest filtered noise value; and

selecting one of the two or more of the directional filters having a direction that corresponds to an edge of the video block.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the operations for filtering the video block using the selected directional filter comprise:

applying the selected directional filter against each pixel value of each edge of the video block.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the operations for filtering the video block using the selected directional filter comprise:

storing one or more pixel values of the video block to a buffer; and

filtering the stored one or more pixel values within the buffer using the selected directional filter.

17. The non-transitory computer-readable storage medium of claim 13 , wherein a direction of the selected directional filter is one of 0 degrees, 45 degrees, 90 degrees, or 135 degrees.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2017
From: XU, YAOWU; HAN, JINGNING; CHEN, CHENG
To: GOOGLE LLC
Reel/Frame 044428/0855 →