IP Library › Granted Patent US 10,887,622
Granted Patent B2
US 10,887,622 · App. 16/027,173 · Granted Jan 5, 2021

Division-free bilateral filter

Inventors: Marta Karczewicz (San Diego, CA); Li Zhang (San Diego, CA); Wei-Jung Chien (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/61H04N19/107H04N19/117H04N19/14H04N19/172H04N19/176H04N19/182H04N19/86
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,887,622
App. No.
16/027,173
Granted
Jan 5, 2021
Kind
B2
Abstract

A video decoder can be configured to perform a filtering operation by determining a first difference value that corresponds to a difference between the sample value of the selected sample and a sample value of a first neighboring sample; multiplying the first difference value by a first weighting parameter to determine a first weighted difference value; determining a second difference value that corresponds to a difference between the sample value of the selected sample and a sample value of a second neighboring sample; multiplying the second difference value by a second weighting parameter to determine a second weighted difference value; and adding the first weighted difference value and the second weighted difference value to the sample value of the selected sample to determine the modified sample value.

Claims (95)

1. A method of decoding video data, the method comprising:

determining sample values for samples of a block of video data;

performing a filtering operation on a sample value of a selected sample of the block of the video data to generate a filtered block of video data comprising a modified sample value, wherein performing the filtering operation comprises:

determining a first difference value that corresponds to a difference between the sample value of the selected sample and a sample value of a first neighboring sample;

determining a first weighting parameter based on a distance between the selected sample and the first neighboring sample, the first difference value, and a quantization parameter for the block of video data;

multiplying the first difference value by the first weighting parameter to determine a first weighted difference value;

determining a second difference value that corresponds to a difference between the sample value of the selected sample and a sample value of a second neighboring sample;

multiplying the second difference value by a second weighting parameter to determine a second weighted difference value; and

adding the first weighted difference value and the second weighted difference value to the sample value of the selected sample to determine the modified sample value; and

outputting the filtered block of video data.

2. The method of claim 1 , wherein performing the filtering operation comprises modifying the sample value of the selected sample according to the following equation:

I

F

=

I

C

+

∑

i

=

1

N

⁢

w

i

*

(

I

i

-

I

c

)

wherein I F is the modified sample value, I c is the sample value of the selected sample, I i is a sample value of an i-th neighboring sample, w i is a weighting parameter for the i-th neighboring sample, and N is a number of neighbor samples.

3. The method of claim 1 , wherein the first neighboring sample comprises a sample that is immediately adjacent to the selected sample, and wherein the second neighboring sample comprise a sample that is not immediately adjacent to the selected sample.

4. The method of claim 1 , wherein the first neighboring sample comprises a sample from a previously decoded picture.

5. The method of claim 1 , wherein the block of video data comprises a post-deblock filtered, reconstructed block of video data.

6. The method of claim 1 , wherein the method of decoding is performed as part of a decoding loop of a video encoding process, and wherein outputting the filtered block of video data comprises storing a reference picture comprising the filtered block of video data, the method further comprising:

using the reference picture in encoding another picture of the video data.

7. The method of claim 1 , wherein outputting a decoded picture comprises outputting the filtered block of video data to a display device.

8. A device for decoding video data, the method comprising:

a memory configured to store the video data; and

one or more processors configured to:

determine sample values for samples of a block of the video data;

perform a filtering operation on a sample value of a selected sample of the block of the video data to generate a filtered block of video data comprising a modified sample value, wherein to perform the filtering operation, the one or more processors are configured to:

determine a first difference value that corresponds to a difference between the sample value of the selected sample and a sample value of a first neighboring sample;

determine a first weighting parameter based on a distance between the selected sample and the first neighboring sample, the first difference value, and a quantization parameter for the block of video data;

multiply the first difference value by the first weighting parameter to determine a first weighted difference value;

determine a second difference value that corresponds to a difference between the sample value of the selected sample and a sample value of a second neighboring sample;

multiply the second difference value by a second weighting parameter to determine a second weighted difference value; and

add the first weighted difference value and the second weighted difference value to the sample value of the selected sample to determine the modified sample value; and

output the filtered block of video data.

9. The device of claim 8 , wherein to performing the filtering operation, the one or more processors are further configured to modify the sample value of the selected sample according to the following equation:

I

F

=

I

C

+

∑

i

=

1

N

⁢

w

i

*

(

I

i

-

I

c

)

wherein I F is the modified sample value, I c is the sample value of the selected sample, I i is a sample value of an i-th neighboring sample, w i is a weighting parameter for the i-th neighboring sample, and N is a number of neighbor samples.

10. The device of claim 8 , wherein the first neighboring sample comprises a sample that is immediately adjacent to the selected sample, and wherein the second neighboring sample comprise a sample that is not immediately adjacent to the selected sample.

11. The device of claim 8 , wherein the first neighboring sample comprises a sample from a previously decoded picture.

12. The method of claim 8 , wherein the block of video data comprises a post-deblock filtered, reconstructed block of video data.

13. The device of claim 8 , wherein the device is configured to decode the video data as part of a decoding loop of a video encoding process, and wherein to output the filtered block of video data, the one or more processors are configured to store a reference picture comprising the filtered block of video data, wherein the one or more processors are further configured to use the reference picture in encoding another picture of the video data.

14. The device of claim 8 , wherein to output the filtered block of video data, the one or more processors are configured to output a decoded picture comprising the filtered block of video data to a display device.

15. The device of claim 8 , wherein the device comprises a wireless communication device, further comprising a receiver configured to receive encoded video data.

16. The device of claim 15 , wherein the wireless communication device comprises a telephone handset and wherein the receiver is configured to demodulate, according to a wireless communication standard, a signal comprising the encoded video data.

17. The device of claim 8 , wherein the device comprises a wireless communication device, further comprising a transmitter configured to transmit encoded video data.

18. The device of claim 17 , wherein the wireless communication device comprises a telephone handset and wherein the transmitter is configured to modulate, according to a wireless communication standard, a signal comprising the encoded video data.

19. A non-transitory computer-readable storage medium storing instructions that when executed by one or more processors cause the one or more processors to:

determine sample values for samples of a block of video data;

perform a filtering operation on a sample value of a selected sample of the block of the video data to generate a filtered block of video data comprising a modified sample value, wherein to perform the filtering operation, the instructions cause the one or more processors to:

determine a first difference value that corresponds to a difference between the sample value of the selected sample and a sample value of a first neighboring sample;

determine a first weighting parameter based on a distance between the selected sample and the first neighboring sample, the first difference value, and a quantization parameter for the block of video data;

multiply the first difference value by the first weighting parameter to determine a first weighted difference value;

determine a second difference value that corresponds to a difference between the sample value of the selected sample and a sample value of a second neighboring sample;

multiply the second difference value by a second weighting parameter to determine a second weighted difference value; and

add the first weighted difference value and the second weighted difference value to the sample value of the selected sample to determine the modified sample value; and

output the filtered block of video data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2018
From: KARCZEWICZ, MARTA; ZHANG, LI; CHIEN, WEI-JUNG
To: QUALCOMM INCORPORATED
Reel/Frame 046781/0579 →
Continuity (2)
Provisional Application 62528912 · Jul 5, 2017
Related Publication 20190014349A1 · Jan 10, 2019